
java基础
文章平均质量分 77
Rainly1
这个作者很懒,什么都没留下…
展开
-
java 对于i++ 和 i=i++ 详细理解
i=i++结果是多少呢 i=++i结果又是多少呢我们来细细的分析一下i=i+±----------在java中 这个语句的前后顺序应该是这样的int temp=i;i++;temp==i所以他运行的结果是0public class test3 { public static void main(String[] args) { int i = 0; i=i++; }}我们来反编译一下看看jvm内部指令是如何的iconst_0原创 2020-06-16 14:06:58 · 640 阅读 · 0 评论 -
128陷阱
128陷阱出现在java的自动装箱这一块自动装箱是什么呢我们先了解一下对象包装器在java中有时int这种基本类型需要转成对象所有的基本类型都有对应类 如Integer对应基本类型int 通常这些类称为包装器假如说定义一个整形数组列表不能用ArrayList 这就用到了包装类integer我们就可以声明一个list列表ArrayList list = new ArrayList&l...原创 2019-08-19 21:55:31 · 164 阅读 · 0 评论 -
类的执行顺序
静态变量和静态方法在类加载的时候执行1、静态块优先执行加载 并且静态块之执行一次2、非静态块或者非静态变量其次加载 3、最后是构造器加载如果某个对象出发执行了第一个静态块那么其他所有的静态块都由此对象初始化执行不要再静态块new对象栗子:public class Employee { { System.out.println("初始化块执行了"); } static {...原创 2019-07-24 15:21:05 · 275 阅读 · 1 评论 -
java中字符串=和equals的区别
在java中我们知道判断两个字符串相等有=和equals方法那么他们有什么区别呢java中=是判断两个变量地址的值是不是相等的public class Test { public static void main(String[] args) { String a = "111"; String b = a; System.out.println(a==b);...原创 2019-07-17 14:03:24 · 135 阅读 · 0 评论 -
对于java值传递的解析
我们都知道java是之传递可值传递到底是什么样的呢我准备通过例子来进行解析假设A a = new A();A b = a;我们看看这两步骤对应会发生什么原创 2019-07-17 13:47:35 · 177 阅读 · 2 评论 -
对java字符串是不可变的特性深度理解
我们都知道java中有堆、栈、方法区等而字符串存储在堆内存得常量池中(最新版java中)例如:String a = “ssss”;a就在栈内存 叫做引用ssss则存在堆内存的常量池中而这个=号则代表地址的指向附上一张图:为什么不可变呢? 因为字符串使用的是数组数据结构而数组大家都知道数组的地址是需要连续的 然而字符串没有固定的存储长度所以必须一开始指定假设ssss占用了四个内...原创 2019-07-17 13:21:36 · 305 阅读 · 0 评论 -
java关键字static
static静态里面的内容是线程共享的被他修饰的东西属于类而不属于对象被static修饰得方法 在对象new之前就存在类加载过程 只要程序中出现了 改类得信息 jvm’就会将改类信息从磁盘中得.class文件 加载到方法区而方法区是共享得所以是线程不安全的...原创 2019-07-24 12:09:16 · 113 阅读 · 1 评论 -
java笔记(二)
src项目的根目录java代码都是在src这个包内默认从main方法里面开始执行入口函数:public static void main(String []args){}java中标准的命名规范:类名是以大小写字母开头得名词如果有多个单词组成那么每个单词得第一个首字母应该大写(驼峰命名法)例如:CamelCase数据类型java中其他类型数据都是由八种基本类型衍生出来java是强类型...原创 2019-07-16 22:40:30 · 159 阅读 · 0 评论 -
原码、反码、补码知识详细讲解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是...转载 2019-07-16 22:19:04 · 197 阅读 · 0 评论 -
对get和set方法的理解
我们知道在java一个类里面可以通过set和get方法来设置值和修改值我们称之为更改器和访问器对于set和get方法 我有两个理解第一:对读写可以控制,为了封装我们类的属性应该用private私有的那么就意味着只能通过set get方法访问数值所以get和set方法可以进行读写控制假如:我们只写set方法就意味着是只读的第二:这两个东西是为了完成程序的封装性而封装带来的好处可以改变内部...原创 2019-07-19 00:28:43 · 576 阅读 · 0 评论 -
java笔记(一)
java 11个特性中可移植性很重要、分布式强大第一步: .java 转换成 .class 文件 通过jdk 编译第二步: 转换成操作系统语言 通过 jre 实现jre中包含虚拟机但并不包含编译器专门为不需要编译器用户准备jdk中一般包含jrejava本身语法规则就是java se 例如:java核心卷1java ee进行web开发 基于se进行拓展出来的分支java me也是在se...原创 2019-07-16 10:56:20 · 170 阅读 · 1 评论 -
详谈java浅拷贝与深拷贝
引用类型的数组存的是地址浅拷贝基本类型记录的是数据深拷贝什么是浅拷贝呢简单的来说就是大家指向了同一个引用加入有一个类Cat他有一个name属性public class Cat{ String name; . . .}Cat a = new Cat();a.name = "mimi";Cat b = a;b.name = "mimi2";执行完这段代码a.name...原创 2019-07-18 13:25:34 · 138 阅读 · 1 评论