世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。 ——摘自周志明

随笔分类 -  JAVA

摘要:首先说明 String s1="",s2=null; 变量s1是非空,且长度为0(中间没有空格);变量s2是空,且s2.length()会报错,java.lang.NullPointerException。 所以: isNotEmpty(str) 相等于 str != null && str.len 阅读全文
posted @ 2024-02-07 16:25 白杯与咖啡 阅读(145) 评论(0) 推荐(0)
摘要:1、分页方法主要调用 PageHelper.startPage() 现象:开始是可以查询所有数据,在我调整前台代码以后,SQl查询就变为分页的了。 因此,肯定是vue代码有问题,具体为啥前台代码会影响后台的分页呢?很是神奇。(计算机问题,表面上都有神秘的面纱哈哈哈) 做法: (1)比对请求参数,发现 阅读全文
posted @ 2024-02-07 15:28 白杯与咖啡 阅读(122) 评论(0) 推荐(0)
摘要:参考:https://blog.csdn.net/justry_deng/article/details/80972817 个人理解,@RequestBody获取post请求中body的数据,形参里有且只有一个注解;@RequestParam获取key-value对的值,可以有多个注解。 注意val 阅读全文
posted @ 2022-09-18 14:16 白杯与咖啡 阅读(127) 评论(0) 推荐(0)
摘要:Properties props = new Properties(); props.put("bootstrap.servers", "localhost:9092"); props.put("group.id", "test"); // props.put("enable.auto.commit 阅读全文
posted @ 2021-10-17 18:03 白杯与咖啡 阅读(316) 评论(0) 推荐(0)
摘要:背景 一个生产者,两个消费者;生产者对数值加1,当大于0时消费者进行消费,每次减去1.按道理来讲数值最小为0,但是实际运行时会出现负数。 原因,消费代码导致 /** * 分析:消费者1得到执行,会进入wait状态,此时数值为0;然后生产者得到执行,数值变为1;消费2线程得到执行,数值变为0; * 紧 阅读全文
posted @ 2020-07-29 23:12 白杯与咖啡 阅读(329) 评论(0) 推荐(0)
摘要:在maven的配置文件中设置国内的镜像,此处推荐阿里的。如下 <mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | 阅读全文
posted @ 2019-10-13 20:00 白杯与咖啡 阅读(438) 评论(0) 推荐(0)
摘要:适用于:非前后端分离的项目。 解决:在项目中通过request获取各种地址信息。 引用basePath 阅读全文
posted @ 2019-06-10 21:23 白杯与咖啡 阅读(1480) 评论(0) 推荐(0)
摘要:结果: 思路就是:把数值减少到0才会放行。 阅读全文
posted @ 2019-05-07 13:34 白杯与咖啡 阅读(132) 评论(0) 推荐(0)
摘要:1、根据不同的文件内容选择不同的操作类 文本文件选Reader\Writer 图片、视频 inputStream\outputStream 2、要考虑源文件的编码格式,例如源文件是以GBK编码的,要在解码时用GBK 测试代码: 文本文件内容及格式: 代码: 阅读全文
posted @ 2019-04-29 21:58 白杯与咖啡 阅读(129) 评论(0) 推荐(0)
摘要:1、top命令找出 2、也可以使用 (1)ps -ef|grep java|grep -v grep (2)jps -l|grep 公司名 然后,记住PID是9529。 3、定位具体的线程或者代码: ps -mp 9529 -o THRAD,tid,time 4、将需要的线程ID转16进制 9530 阅读全文
posted @ 2019-04-25 22:06 白杯与咖啡 阅读(312) 评论(0) 推荐(0)
摘要:1、相关常量 默认初始化容量(大小) 最大容量 默认负载因子:用于扩容的,比如16*0.75=12,当容量达到12时就会扩容。 树化:链表变红黑树,前提是达到最小树化容量。 最小树化容量 反树化:红黑书变链表 2、底层数据结构 数组+链表+红黑树 3、hash冲突怎么处理? 源码: 4、链表是尾部插 阅读全文
posted @ 2019-04-25 12:07 白杯与咖啡 阅读(193) 评论(0) 推荐(0)
摘要:1、测试代码如下: 输出: 原因: 解决办法: 输出: 阅读全文
posted @ 2019-04-22 17:13 白杯与咖啡 阅读(166) 评论(0) 推荐(0)
摘要:1、语法方面 (1)接口可以多实现,抽象类只能单继承。 (2)接口里的成员变量,不能更改的,因为修饰符是:public static final;方法默认public abstract修饰的 2、思想上: (1)接口强调功能实现,abstract class强调所属关系。 (2)接口中是全局的静态的 阅读全文
posted @ 2019-04-20 22:25 白杯与咖啡 阅读(2110) 评论(0) 推荐(1)
摘要:public class StrTest { public static void main(String[] args) { BigInteger a = new BigInteger("1"); BigInteger b = new BigInteger("2"); BigInteger c = 阅读全文
posted @ 2019-04-18 23:04 白杯与咖啡 阅读(297) 评论(0) 推荐(0)
摘要:map遍历可以通过keySet或者entrySet方式。 性能上:entrySet略胜一筹,原因是keySet获取到key后再根据key去获取value,在查一遍,所以慢一些。 keySet: entrySet: jdk1.8推荐forEach 阅读全文
posted @ 2019-04-07 23:48 白杯与咖啡 阅读(574) 评论(0) 推荐(0)
摘要:1、什么是线程?什么是进程? 2、多线程的状态? 3、并发?并行?※ ※ ※ 并发:同一时间间隔,交替执行任务。 并行:同一时刻执行多个任务。 4、三个售票员卖票 (1) 线程 操作 资源类 (2)高内聚 低耦合 代码在github上。 5、Lambda表达式 函数式为实现接口:接口中有一个为实现的 阅读全文
posted @ 2019-02-19 00:00 白杯与咖啡 阅读(266) 评论(0) 推荐(0)
摘要:OOM (OutOfMemoryError) 1、MAT工具 在eclipse中安装。Help>Eclipse Marketplace 搜索MAT 接下来运行程序,run configrations,配置如下参数;然后运行,并刷新项目,会产生.hprof文件,双击打开即可。 第一个是:初始化堆大小 阅读全文
posted @ 2019-02-17 22:38 白杯与咖啡 阅读(1387) 评论(0) 推荐(0)
摘要:GC是分代收集算法;因为Young区,需要回收垃圾对象的次数操作频繁;Old区次数上较少收集;基本不动Perm区。每个区特点不一样,所以就没有通用的最好算法,只有合适的算法。 GC的4大算法 1、引用计数法(JVM实现一般不采用此方式) 缺点: 》每次对对象赋值时均要维护引用计数器,且计数器本身也有 阅读全文
posted @ 2019-02-04 10:45 白杯与咖啡 阅读(227) 评论(0) 推荐(0)
摘要:1、JVM位置 JVM是运行在操作系统之上的,它与硬件没有直接交互,所以与硬件没关系。JVM有Sun公司的HotSpot;BEA的JRockit;IBM的J9VM。前面两个都被Oracle收购了。 2、JVM逻辑架构图 分为上中下三部分。Class files在文件的首行有响应的标识,表名文件时cl 阅读全文
posted @ 2019-02-03 17:12 白杯与咖啡 阅读(244) 评论(0) 推荐(0)
摘要:泛型就是类型参数化,处理的数据类型不是固定的,而是可以作为参数传入。 1、泛型类、泛型接口 class/interface 类名/接口名 <变量名>{ //变量名只要符合java } 2、泛型方法 2.1 自己声明泛型类: 2.2 依赖外围类 3、泛型通配符 当我们声明一个方法时,某个形参的类型是一 阅读全文
posted @ 2019-02-03 14:50 白杯与咖啡 阅读(119) 评论(0) 推荐(0)