Java基础知识点(四)
前言:记录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基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...
- Java基础知识点(二)
前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/5 ...
- Java基础知识点(一)
前言:本篇随笔,主要记录Java的基础知识点,不管是用于项目或者面试中,笔者认为都非常有用,所以将持续更新...... 1.Java的访问权限 Java中有四种访问权限:默认访问权限.public.p ...
- JAVA基础知识点总结(全集)
1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...
- Java基础知识点总结
前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...
- java基础知识点补充---二维数组
#java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...
- Java实习生常规技术面试题每日十题Java基础(四)
目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...
- Java 基础知识点
很多 Java 基础的东西都忘记了, 有必要再复习一些基本的知识点. 本文主要参考 https://github.com/Snailclimb/JavaGuide ================== ...
- Java基础知识点
以下10点为JAVA 基础知识,后面将足以总结和完善以备面试 数据类型 (包装类,字符串,数组) 异常处理 Java IO和NIO 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对 ...
随机推荐
- git常用命令总结(资源来自廖雪峰)
自己把命令弄出来方便以后看看,,应该有错的emmmm 原文地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67 ...
- [android] 内容观察者
拦截短信,比如当发短信的时候,就把短信读取出来,当系统的短信发生变化的时候,大叫一声,把数据发送到公共的消息邮箱里面,我们的应用通过内容观察者观察公共的消息邮箱 获取ContentResolver对象 ...
- Xhprof graphviz Warning: proc_open() [function.proc-open]: CreateProcess failed, error code 解决方法
Xhprof在windows下点击[View Full Callgraph]调用graphviz软件时.警告Warning: proc_open() [function.proc-open]: Cre ...
- 处理JavaScript异常的正确姿势
译者按: 错误是无法避免的,妥善处理它才是最重要的! 原文: A Guide to Proper Error Handling in JavaScript Related Topics: 译者: Fu ...
- 几点建议帮你写出简洁的JS代码
译者按: 规范的代码可以有效避免代码bug,fundebug才会报警少一点! 原文: Tips for Writing Cleaner Code 译者: Fundebug 为了保证可读性,本文采用意译 ...
- phpstorm连接服务器,实时编辑上传文件到服务器
教程一:我的老版本,并且是汉化的,找到该位置 打开后:点击Configuration进行配置! 输入服务器的ip.端口.用户名.密码即可 打开编辑: 教程二:下面更新了一个新版本的(2018.2): ...
- MySQL服务无法启动 3534
1.环境变量配置完成 2.配置文件编辑完成 3.启动服务(启动不成功,错误信息“MySQL服务无法启动 请键入 NET HELPMSG 3534 以便获得更多的帮助”) 错误原因:mysql安装目录下 ...
- 关于TensorFlow你需要了解的9件事
关于TensorFlow你需要了解的9件事 https://mp.weixin.qq.com/s/cEQAdLnueMEj0OQZtYvcuw 摘要:本文对近期在旧金山举办的谷歌 Cloud Next ...
- iphone手机投屏在哪里 手机无线投屏电脑
Iphone是我们经常使用的一款手机,有时候经常需要将一些文件图片信息等投屏到电脑,那么iphone手机投屏在哪里?可以无线投屏到电脑吗?其实很简单,下面就分享下苹果手机投屏的具体方法给大家,希望对大 ...
- 开发Spring过程中几个常见异常(三):java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to com.edu.aop.ArithmeticCalculatorImpl at com.edu.aop.Main.main(Main.java:11)
这个异常是在开发Spring案例时遇到的. 贴一下完整异常信息: Exception in thread "main" java.lang.ClassCastException: ...