年度归档: 2022 年

759 篇文章

常用类-String课后算法题目1
package top.qaqaq.java.P475; import org.junit.jupiter.api.Test; /** * @author RichieZhang * @create 2022-10-23 下午 2:17 */ public class StringDemo { /* 将一个字符串进行反转。将字符串中指定部分进行反转…
String类
6.4 与StringBuffer、StringBuilder之间的转换 String --> StringBuffer、StringBuilder:调用StringBuffer、StringBuilder构造器 StringBuffer、StringBuilder --->String:①调用String构造器;②StringBuffer、Str…
常用类-复习
1. 画出如下几行代码的内容结构: String s1 = "hello"; String s2 = "hello"; String s3 = new String("hello"); s1 += "world"; 2.如何理解String类的不可变性 String 指向常量池的数据,不能做任何的修改,如果需要修改必须新造一个数据,用来存储新的内容…
ROUND_HALF_UP is deprecated. 不推荐使用
项目中涉及到计算金额的, 部分代码如下, 编译器提示ROUND_HALF_UP is deprecated. 不推荐使用. 上网找了一下, 参考: https://docs.oracle.com/javase/9/docs/api/java/math/BigDecimal.html 从java9就不推荐使用了. 修改方案: 将BigDecimal.…
常用类-解决一个拼接问题
package top.qaqaq.java.P463; import org.junit.jupiter.api.Test; /** * String的使用 * * @author RichieZhang * @create 2022-10-22 下午 1:04 */ public class StringTest { /* 结论: 1.常量与常…
常用类-String的一道面试题
package top.qaqaq.java.P455; /** * 一道面试题 * @author RichieZhang * @create 2022-10-22 下午 3:30 */ public class StringTest { String str = new String("good"); char[] ch = {'t',…
关于String底层使用的是char数组还是byte数组以及一点String面试问题
先上结论:jdk1.8及以前String使用的是char数组,jdk1.9及以后使用的是byte数组。 因为开发人员发现人们使用的字符串值是拉丁字符居多而之前使用的char数组每一个char占用两个字节而拉丁字符只需要一个字节就可以存储,剩下的一个字节就浪费了,造成内存的浪费,gc的更加频繁。因此在jdk9中将String底层的实现改为了byte数…
Thread的生命周期
Thread的生命周期 说明: 1. 生命周期关注两个概念:状态、相应的方法 2. 关注:状态a --> 状态b:哪些方法执行了(回调方法) 某个方法主动调用:状态a --> 状态b 3. 阻塞:临时状态,不可以作为最终状态 死亡:最终状态。
多线程-复习
1. 画图说明线程的生命周期,以及各状态切换使用到的方法等 状态,方法 2. 同步代码块中涉及到同步监视器和共享数据,谈谈你对同步监视器和共享数据的理解,以及注意点。 synchronized(同步监视器){ //操作共享数据的代码(不能包括多了,也不能包括少了) } 同步监视器:是一个对象,任何一个类的对象都可以充当,多个线程必须要共用同一个监视…
多线程-使用线程池的好处
使用线程池 背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。 思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。 好处:  提高响应速度(减少了创建新线程的时间)  降低资源消耗(重复利用线程池中线程,不需要每次都创建)  …