Java
文章平均质量分 65
hellopbc
追求代码世界的白话(转战UEFI)
展开
-
[转载]Java8新特性的常用点
留作记录,以便查看复习。转载 2022-11-29 15:37:19 · 93 阅读 · 0 评论 -
String 创建字符串对象和字符串常量池的联系推理
那么,在2中,就没有了String对象。难道不是常量池里有字符串对象“abc”的引用,它已经指向了“abc”,所以我认为应该是创建了String对象,然后去指向这个常量池的引用。按照1的说法,关键对象有:字符串对象的引用(在常量池中),String对象(new出来的),字符。(比如字符串对象“abc”,而不是String对象,这个应该是区分开的)。, 这里是,s直接指向了常量池中字符串对象“abc”的引用。串“abc”对象,在字符串数据中,要这三者齐全才是正常的。,String对象指向常量池的。原创 2022-11-15 17:07:36 · 515 阅读 · 0 评论 -
关于Java的`clone()`方法,以及深拷贝、浅拷贝、引用拷贝
拷贝实现实现cloneable接口,这个接口是标志接口,里面啥也没有重写clone方法,返回值修改成对应类的类型,使用强制类型转换,因为默认是Object具体说明直接就是复制,这本质上是深拷贝,但是只是拷贝最外层的对象实例这个最外层对象实例,有可能还包含其他对象其他对象就不会被拷贝,基本类型数据和String类型的会自动深拷贝一般自定义的对象不会,需要嵌套的重写clone方法引用拷贝:就是对象没被拷贝过,直接换了引用或者说多个不同的引用指向同一个对象实例。原创 2022-11-14 00:13:42 · 370 阅读 · 0 评论 -
关于Java protected的总结及对作用域和跨包调用的理解
这里把java的作用域的用途逻辑说的很清晰,强烈推荐学习。比画表格的那些好多了!对本包和所有子类可见,一般就用在方法上,字段上不提倡。原创 2022-11-05 18:14:01 · 516 阅读 · 0 评论 -
归并排序的java实战
【代码】归并排序的java实战。原创 2022-11-02 22:16:50 · 70 阅读 · 0 评论 -
(java和c) while循环与++i和i++
**总结**:把`++`和比较看成是原语操作,不可分割。当不符合循环条件时,就结束这个原语操作。不同情况区别于是先++再比较,还是先比较再++。原创 2022-11-02 18:26:30 · 1054 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
内存消耗:46.6 MB ,在所有Java提交中击败了99.35%的用户。执行用时:17 ms ,在所有Java提交中击败了100.00%的用户。二分法,但是不能先行后列,应该按每行做二分。通过测试用例:129/129。执行结果:通过显示详情>花费了一天,到晚上一点。原创 2022-09-12 00:46:39 · 95 阅读 · 1 评论 -
剑指 Offer 03. 数组中重复的数字
使用一个同样size的数组,按索引存储,存了表示1,没存表示0,输出第一个访问了存1的下标。内存消耗:48.9 MB ,在所有Java提交中击败了66.66%的用户。执行用时:1 ms ,在所有Java提交中击败了79.80%的用户。最开始想的是存数字,每次读一个数字再和存的数字做匹配,很垃圾。10分钟左右,没有编码难度。通j过测试用例:27/27。执行结果:通过显示详情。原创 2022-09-11 14:07:29 · 830 阅读 · 0 评论 -
学习《Java核心技术》——第7章:异常、断言和日志
注意,如果finally子句包含return语句时,不管是抛出异常,还是方法返回一个结果对象,都会在这之前执行finally里的语句,此时finally里的return语句会覆盖原有的结果!还有一个Closeable接口,是AutoCloseable的子接口,也只包含一个close方法,但是该方法声明为抛出一个IOException。在出错的地方,就抛出异常提示,比如pop一个空栈,应该抛出EmptyStackException,而不是返回null。如果父类方法不抛出异常,此时只能使用。原创 2022-09-06 21:04:13 · 352 阅读 · 0 评论 -
学习《Java核心技术》——第6章:接口、lambda表达式与内部类
待加深理解核心内容:1.接口(interface)描述类应该做什么,而不制定它们应该如何做!(很抽象,待理解)接口属性、特征:一个类只能继承一个父类,但可以实现一个或多个接口,使用关键字。接口也可以更具体的接口被继承。接口不是类,是对希望符合这个接口的类的一组需求。接口中的方法,默认是public,可以省略public。但是在实现接口时,必须把方法声明为public。接口没有实例字段,因此可以把接口看作是没有实例字段的抽象类,但不是类!!!;接口可以包含常量,也是默认public,任何实现了该接口的类,都可原创 2022-09-05 19:43:38 · 421 阅读 · 0 评论 -
学习《Java核心技术》——第5章:继承
1.继承使用关键字覆盖(override)或重写(overwrite):继承时期发生子类不能直接访问父类的私有字段,因此要使用和方法调用父类的非私有方法,子类构造器:没有显式调用,则自动调用父类的无参构造器,否则报编译错误。归纳:要么默认调用无参构造器,要么就显式调用构造器多态(polymorphism):一个对象变量可以指示多种实际类型的现象比如,循环遍历一个父类对象数组,运行时虚拟机知道它的实际对象,并调用相对应的方法。动态绑定(dynamic binding):运行时自动选择对应合适的方法(不同重原创 2022-09-01 23:09:57 · 230 阅读 · 0 评论 -
学习《Java核心技术》——第4章:对象与类
修饰,这样初始代码块在类第一次加载的时候,会运行,对静态字段按运行做初始化。表示它属于类,即使不是实例化,他也存在,且只有一个,被大家共享使用。,传递对象引用时,传递的是对象引用的副本,但是指向的都是同一个对象,因此对象的内容是可以发生变化的!交换的只是对象引用的副本,在方法结束后就被丢弃了。构造器,没有其他构造器时,默认是无参构造器,但是自定义了其他构造器时,必须提供无参构造器。比如静态常量,一些不需要更改的字段,不希望别人获取和修改的字段。显示初始化,对变量提供默认值,不依赖系统的默认值,有隐患。...原创 2022-08-31 20:47:25 · 186 阅读 · 0 评论 -
学习《Java核心技术》——第3章:基本程序设计结构
没有无符号(unsigned)形式,使用他们的类(Byte,Long,Integer)可以处理。多个条件(操作数)并列时,采用“短路”方式,如果通过第一个操作数就能判断,那后面的就不会执行了。&(and), |(or), ^(xor), ~(not), >>(左移), ...原创 2022-08-19 09:48:48 · 98 阅读 · 0 评论 -
Unicode编码
采用Unicode方案——为世界上所有字符都分配了一个唯一的数字编号,一般用十六进制表示。Unicode一个中文字符占2个字节,而UTF-8一个中文字符占3个字节,有对应。可以把unicode的范围划分为4个层级,对应使用1-4个字节,做成变长。但是,只规定了每个字符的数字编号是多少,并没有规定这个编号如何存储。,共有21位表示符号,可以表示约104万个字符。因此,这需要一套编码规则,比如UTF-8。传1个字节就行,用最高位 置1表示,即。,5位表示层级,11位表示符号。第一层:0-127,即。...原创 2022-08-18 15:21:14 · 904 阅读 · 0 评论