Java复习1.基本知识
Java语言概述 20131003
开头语:
开发领域,重要的编程语言基本都是C/C++,然后就是Java, C/C++就不用说了,另外掌握Java对你是有很大的帮助的,而且也会扩宽你的择业范围。同时很多网络编程、网站后台开发都是使用java 语言实现,此外Android实际上就是Java编程,所以在C/C++复习基本完成之后,复习一下Java,一起来吧!
1.java是一种简单、面向对象、分布式、解释型、健壮安全、可移植、性能优异、多线程的动态语言(在运行期间才将类加载到运行环境中)。
相对C++来说Java抛弃了C++的那些很少使用的难以理解的特性,如运算符重载、多继承、自动的强类型转转。而且Java不会使用指针,并且提供了自动的垃圾回收机制,这样程序员不会在为内存管理而担忧。
面向对象:类、接口、继承等等支持class 的单继承和接口的多继承,全面支持动态绑定,而不是C++只支持virtual function动态绑定。
Java语言是分布式的,常见的就是网络编程的领域,网络编程的接口java.net,提供URL, URLConnection, Socket, serverSocket等等,同时Java 的RMI机制也是开发分布式程序的重要手段。(做过一个简单的RMI协议的下游戏,主页寻找代码吧!)
Java编译器是使用java实现的,运行环境是使用ANSI C 实现的,java运行速度随着JIT编译技术的发展,越来越接近C++。同时Java是多线程的编程语言,而且线程之间支持同步机制,使用关键字synchronized实现。
Java的地位:
服务器开发领域:Java 已经是服务器编程的霸主,开发后台数据接口等等
移动设备:Android是完全基于Java编程的,而且基于J2EE的手机平台也是很多
桌面应用:与C++,.Net三分天下。
其实我自己掌握的领域只有第一个,也就是在服务器端的编程,提供高性能的服务,同时有很多的框架技术,根据请求类型分发到不同的模块,后处理请求,访问数据库,返回指定的数据。
这里还有很多的Java框架技术,先在这里水一下:
数据库框架技术:常见的就是Hibernate(我没有学过,不过我宿舍的10大神学过,应该不难),MyBatis框架(这个就是我学的,而且应用在实际的上线项目中)
缓存框架:Spring可以做缓存非常强大,同时为了更加直观,还有一种是EnCache框架,做缓存特别好,也很容易理解。
服务器框架:其实也就是服务器开发,一般会选择Tomcat解释环境,但是因为配置Webroot目录总是出错,索性就不使用这个了,改换成了Jetty,从底层去了解服务器的响应,同时这个Server框架可以同时监听多个端口。
SpringMVC:编写网站,还有分层实现必不可少,同时他的IoC、AOP思想也很厉害也正是Spring的两个核心(目前我只会Ioc,也就是依赖注入,也可以叫反转控制,目的是降低系统内部的耦合度,面试的时候千万别说自己掌握Spring,因为里面有太多的东西,小心自己挖坑哟)。
此外还有大量的框架技术,但是建议不要为了学习框架去学习框架,因为框架是在是太多了,所以关键是自己的快速学习的能力,解决问题的能力。
追梦的飞飞
于广州中山大学 20131003
Java复习1.基本知识的更多相关文章
- Java复习8.多线程
Java复习8 多线程知识 20131007 前言: 在Java中本身就是支持多线程程序的,而不是像C++那样,对于多线程的程序,需要调用操作系统的API 接口去实现多线程的程序,而Java是支持多线 ...
- Java复习5.面向对象
Java 复习5面向对象知识 20131004 前言: 前几天整理了C++中的面向对象的知识,学习Java语言,当然最重要的就是面向对象的知识,因为可以说Java是最正宗的面向对象语言,相比C++,更 ...
- java复习(1)---java与C++区别
[系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用 ...
- JAVA复习笔记分布式篇:zookeeper
前言:终于到分布式篇,前面把JAVA的一些核心知识复习了一遍,也是一个JAVA程序员最基本要掌握的知识点,接下来分布式的知识点算是互联网行业的JAVA程序员必备的技能: 概念:ZooK ...
- C++复习15.指针知识
C++复习15.指针知识 4.指针知识 在Tencent 笔试和面试中都考到了 C/C++中的指针知识,因为自己很不喜欢使用指针,所以才开始学习 Java的,但是现在看来还是躲不掉的,所 ...
- Java复习9网路编程
Java 复习9网路编程 20131008 前言: Java语言在网络通信上面的开发要远远领先于其他编程语言,这是Java开发中最重要的应用,可以基于协议的编程,如Socket,URLConnecti ...
- Java复习10.Servlet编程
Java复习10. Servlet编程知识 20131008 前言: 之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面 ...
- Java复习7.输入输出流
Java复习7.输入输出流 20131005 前言: Java中涉及数据的读写,都是基于流的,这一块的知识相当重要,而且在Java中的数据,char字符是16bit的,所以存在字节流和字符流的区别.如 ...
- Java 代码的基本知识(摘)
(摘自:Java经典入门教程) http://wenku.baidu.com/link?url=IoWI58cD5vzeHN-NL4pN7Gren-RfzydrhjDlETAByC9L-9ANinyL ...
随机推荐
- Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) D - Dynamic Problem Scoring
地址:http://codeforces.com/contest/807/problem/D 题目: D. Dynamic Problem Scoring time limit per test 2 ...
- 优化netbeans启动速度
NetBeans优化的目的是提高NetBeans的启动速度和运行速度.下面介绍的NetBeans优化技巧是在版本6.0beta2上的优化.经过实验,大大提高了NetBeans的启动速度. 1,修改英文 ...
- PentestBox简明使用教程
介绍 PentestBox:渗透测试盒子 顾名思义,这是一个渗透工具包,但是不同于绝大多数国内xx工具包的是,这里集成的大都是Linux下的工具,Kali Linux上面的常用的很多工具这里面也都集成 ...
- union遇上ntext数据类型
http://www.myhack58.com/Article/html/3/7/2011/31392.htm
- [Linux 004]——用户和用户组以及 Linux 权限管理(二)
到权限了.前面讲到了 Linux 中的用户和用户主管理,其实它们的本质(或者用户和用户组出现的初衷)都是方便权限管理.权限管理对于计算机的重要性不言而喻,权限让每个用户能够安安心心的使用计算机,而不用 ...
- # PHP学习笔记之一
PHP学习笔记之一 标签(空格分隔): PHP 资料来源:慕课网PHP入门篇.PHP学习手册 一.变量 变量定义 $变量名 = 变量值; $var = "xxx"; 变量类型查看 ...
- 利用MacBook Air入侵无线网络
目前无线网络的加密方式主要有WEP,WPA/WPA2.这是最常看到的加密方式,最近由于需要,专门去研究了一下如何入侵无线网络. 1.入侵WEP加密的无线网络 WEP加密方式现在已经很不安全了,因为只要 ...
- Springboot--配置文件注解
使用注解1 1.resouse中新建application.proprities jdbc.username=root jdbc.password=123 jdbc.driverClassName=f ...
- python sklearn.cross_validation 模块导入失败
参考链接: https://blog.csdn.net/Jae_Peng/article/details/79277920 解决办法: 原来在 cross_validation 里面的函数都放在 mo ...
- JDK 中的监控与故障处理工具-01
当给系统定位问题的时候, 我们经常需要了解并分析 JVM 的运行时状态 . 那应该从哪些方面入手呢? 答案就是从数据入手 . 这里的数据包括: GC日志,异常堆栈, 线程快照(threaddump) ...