版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/youngyangyang04/article/details/47336813
研一下因为项目的原因开始零零散散的学习java, 没有记录什么,做了一些小项目,现在想把java的整体结构记录一下,方便自己回忆,省着以后长久不用,都不知道java有什么了,因为以后主要学C++,linux, java开发确实方便,所以学java也是以后做科研的实验啊, 学习mongodb,做做小东西啊什么的都可以用用,很快捷。 现在就是回忆多少是多少,以后这篇blog会一直更新, 接触什么java东西就写下来, 要不然长久不用就忘, 我采用目录的结构写,以后自己想起什么了在往里面补充吧,这样让自己有一个知识结构
1.Java 语言基础
2.流程控制
3.字符串
string提供的API很强大了
5.数组
先声明,再用new来分配内存 int month = new int[12];
6.类和对象
封装:将对象的属性和行为封装起来,其载体就是类
继承:类与类之间的关系
多态:将父类对象应用于子类的特征,多态的实现依赖抽象类和接口 abstract
7.包装类
Integer, Boolean,Byte,Character,Double,Number
8.数组处理类
BigInteger, BIgDecimal
9.集合类
LIst接口和set接口都是继承了Collection的接口 例如:add(E e), remove(Object o), itreator(), size()
list接口的实现类:ArrayList,LinkedLIst
set接口的实现类:HashSet。TreeSet不仅实现了set接口还实现了java.util.SortedSet接口,因此可以对set进行排序
map接口没有继承collection接口
map接口的实现类:HashMap,键值对象可以为空。treeMap还实现了java.util.SortedMap,可以排序,性能比Hashmap差,而且键值对象不能为空
hashmap 是数组加链表实现的
需要同步时候用hashtable,反之用hashmap
10.I/O输入输出
FileReader和 FileWriter 字节流对应FileInputStream, FileoutputStream
带有缓存的输入输出流,缓存是i/o的一种性能优化,BufferedINputStream和BufferedOutoutStream类
11.反射
通过java的反射机制,可以再程序中访问已经加载在jvm中的java对象的
描述(通过反射过的类的数据),java类都继承Object类, Object类中定义一个getClass()的方法返回一个类型为class的对象
可以根据路径动态生成对象Class.forName(URL).newInstance(), 这样需要对象的时候程序在生成,而不用预先生在放在hashmap里
11.1注解(annotation)
作用:对程序做出解释,
可以被其他程序读取(例如hibernate)
内部注解:@override, @Deprecated,@SupperWarnings
也可以自定义注解
ORM(object relationship mapping) 利用注解将类直接映射称sql语句对数据库进行操作