写在前面 最近小伙伴加群时,我总是问一个问题:Java中的String类占用多大的内存空间?很多小伙伴的回答着实让我哭笑不得,有说不占空间的,有说1个字节的,有说2个字节的,有说3个字节的,有说不知道的,更让人哭笑不得的是竟然还有人说是2的31次方.那如果真是这样的话,服务器的内存空间还放不下一个字符串呀!作为程序员的我们,可不能闹这种笑话呀.今天,我们就一起来聊聊Java中的String到底占用多大的内存空间! Java对象的结构 首先,我们来下Java对象在虚拟机中的结构,这里,以HotSp…
package com.franson.study.util; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.avalon.framework.…
java中,线程的状态使用一个枚举类型来描述的.这个枚举一共有6个值: NEW(新建).RUNNABLE(运行).BLOCKED(锁池).TIMED_WAITING(定时等待).WAITING(等待).TERMINATED(终止.结束). 但是我发现大多数人的理解和上面的这六种还是有些差别,通常会加上阻塞状态,可运行状态,挂起状态. 这是Thread类描述线程状态的枚举类的源代码: public enum State { /** * Thread state for a thread which…
Date转LocalDate时,调用toInstant()报UnsupportedOperationException异常. https://www.jianshu.com/p/11d8ed48f7a9 MediaType.TEXT_PLAIN 使用的不是 utf-8 Charset.defaultCharset() 你相信系统,想利用系统字符集, 但系统字符集并不统一.我们在给自己找事. 我们花精力理解去理解它更没有意义. 无用的学习成本. 比如 logback-spring.xml 里可以使…
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; im…
五种布局:   流式布局(FlowLayout)边界布局(borderLayout)网格布局(GridLayout)  盒子布局(BoxLaYout)  空布局(null)  常用的几种 卡片布局(CardLayout)网格包布局(GridBagLayout)不常用的两种   JFrame 窗体(默认的borderLayout布局) JPanel 面板 (默认的FlowLayout布局) JButton   按钮 JRadioButton 单选框(一定要把单选放在ButtonGroup当中形成互…
 final关键字:修饰符,表示最后的.最终的    修饰类: 表示该类不能派生子类(不能被继承)   1.当不希望父类的的某个方法被子类覆盖(override)时,可以用final关键字来修饰.   2.当不希望类被继承时,可以用final关键字来修饰.   修饰方法:禁止方法被重写(不能被子类重写)   修饰属性:变量变常量(常量如:圆周率)   3.当不希望类的某个变量的值被修改,可以用final关键字来修饰(如圆周率等).    如果一个变量是final,就必须赋初值.并且以后不能再赋值…
1 List集合转成json字符串 //Java集合 List<String> list = new ArrayList<String>(); list.add("aa"); list.add("bb"); Gson gson = new Gson(); String reslut = gson.toJson(list); System.out.println(reslut); 2 json字符串转成List集合 Buy类中的属性 : Int…
一般是由于定义的JAVA类同文件名不一致: 解决方法: 1.把文件名修改同XYZ一样的名字: 2.把类名修改成同文件名:…
面试碰到几次list的去重和排序.下面介绍一种做法: 1. list去重 1.1 实体类Student List<Student>容量10k以上,要求去重复.这里Student的重复标准是属性相同,因此需要重写equals和hashcode方法,不知道有几个可以手写出来. student的equals方法: public void equals(Object o){ if(this == o) retun true; if(!(o instanceof Student)) return fal…