前言:记录Java基础知识点,方便熟悉与掌握。


1.面向对象的"六原则一法则"

“六原则一法则”:单一职责原则、开闭原则、依赖倒转原则、里氏替换原则、接口隔离原则、合成聚合复用原则和迪米特法则。

参考:

https://www.cnblogs.com/qifengshi/p/5709594.html

https://blog.csdn.net/sinat_26342009/article/details/46419873

2.使用普通for循环遍历LinkedList速度慢

原因:LinkedList在get任何一个位置的数据的时候,都会把前面的数据走一遍。

参考:

http://www.cnblogs.com/xrq730/p/5189565.html

3.使用File类相关注意点

在使用File类进行IO操作的时候,主要注意文件路径的书写方式,“/”和“\”,都可以用,但是后者需要进行转义(“\\”),也可以使用File.separator作为分隔符,可以获取不同操作系统下的分隔符,增强代码的移植性。

参考:

http://www.cnblogs.com/xrq730/p/4886636.html

4.关于多态

要点:

在子类向上转型时,注意重写方法的运行时绑定问题。父类引用指向子类对象,子类重写了父类的方法,在调用父类的方法时,实际上调用的是子类重写的父类的该方法。即Father f = new Children(),f.toString()实际上调用的是Children中的toString()方法。

参考:

http://www.cnblogs.com/xrq730/p/4820237.html

https://www.cnblogs.com/chenssy/p/3372798.html

https://blog.csdn.net/thinkGhoster/article/details/2307001

5.线程不能多次start的原因

通过对Thread源码的调试,当第二次start的时候,线程状态已经不是新建,会抛出IllegalThreadStateException异常。

if (threadStatus != 0) //检查线程状态,如果不是0,就抛出异常,0表示新建线程
throw new IllegalThreadStateException();

6.关于枚举

注意:枚举值默认为从0开始的有序数值

参考:

https://www.cnblogs.com/jingmoxukong/p/6098351.html

http://www.cnblogs.com/xrq730/p/4890313.html

7.final的作用

要点:

1、被final修饰的类不可以被继承。

2、被final修饰的方法不可以被重写。

3、被final修饰的变量不可以被改变。变量可分为基本数据类型变量和引用变量,被final修饰的基本数据类型变量,其值不能被修改;被final修饰的引用型变量其引用地址不能被修改,其内容是可以改变的。但是其本质还是其引用地址不能被改变,内容是可以改变的

参考:

http://www.cnblogs.com/xrq730/p/4820296.html

http://www.cnblogs.com/dolphin0520/p/3736238.html

8.字符编码

要点:Java中的字符使用的都是Unicode字符集,编码方式为UTF-16。

参考:

http://www.cnblogs.com/xrq730/p/4889593.html

9.位移运算

1)左移: << ,丢弃左边指定位数,右边补0。

2)右移:>>,丢弃右边指定位数,左边补上符号位。

3)无符号右移:>>>,丢弃右边指定位数,左边补上0。

参考:

https://zhuanlan.zhihu.com/p/30108890

10.I/O模型

主要了解同步、异步、阻塞、非阻塞、同步I/O、异步I/O、阻塞I/O、非阻塞I/O,这些都是不同的概念。

参考:

http://www.cnblogs.com/dolphin0520/p/3916526.html

by Shawn Chen,2018.4.28日,上午。


相关内容

Java基础知识点(一)

Java基础知识点(二)

Java基础知识点(三)

Java基础知识点(四)的更多相关文章

  1. Java基础知识点(三)

    前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...

  2. Java基础知识点(二)

    前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/5 ...

  3. Java基础知识点(一)

    前言:本篇随笔,主要记录Java的基础知识点,不管是用于项目或者面试中,笔者认为都非常有用,所以将持续更新...... 1.Java的访问权限 Java中有四种访问权限:默认访问权限.public.p ...

  4. JAVA基础知识点总结(全集)

    1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...

  5. Java基础知识点总结

    前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...

  6. java基础知识点补充---二维数组

    #java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...

  7. Java实习生常规技术面试题每日十题Java基础(四)

    目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...

  8. Java 基础知识点

    很多 Java 基础的东西都忘记了, 有必要再复习一些基本的知识点. 本文主要参考 https://github.com/Snailclimb/JavaGuide ================== ...

  9. Java基础知识点

    以下10点为JAVA 基础知识,后面将足以总结和完善以备面试 数据类型 (包装类,字符串,数组) 异常处理 Java IO和NIO 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对 ...

随机推荐

  1. Partition(hdu4651)2013 Multi-University Training Contest 5

    Partition Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  2. Cheating sheet for vim

  3. 为什么越来越少的人用jQuery

    摘要:JQuery该退役了. 原文:为什么越来越少的人用jQuery 作者:Lemonade Fundebug经授权转载,版权归原作者所有. 最早期的开发,大多都使用jQuery,它给我们带来了很多的 ...

  4. Html中的img标签 加载失败

    在Http请求时,有时会遇到img图片标签加载失败,不显示的情况: 解决方法,在重新给src属性赋值时,先将onerror事件清除掉,再赋值,这样就不会存在循环调用问题了,代码如下; <img ...

  5. js 从一个对象中找到属性值相等的集合

    getobjs: function(objs, key, value) { var result = []; for (var i in objs) { var obj = $(objs[i]); i ...

  6. 8.Odoo产品分析 (二) – 商业板块(3) –CRM(2)

    查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (二) – 商业板块(3) –CRM(1) 4. 设置 在配置–>设置中:    在分析"销售"模块时已经将其他的 ...

  7. Nginx http相关常用配置总结

    Nginx http相关常用配置总结   by:授客  QQ:1033553122   测试环境 nginx-1.10.0 client_max_body_size Syntax: client_ma ...

  8. Android中Ijkplayer最简单的使用

    先添加依赖: compile 'com.dou361.ijkplayer:jjdxm-ijkplayer:1.0.5' MainActivity里面: public class MainActivit ...

  9. 【LeetCode】两数相加

    题目描述 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和. ...

  10. springboot 学习之路 6(定时任务)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...