Java
文章平均质量分 85
java重点内容的讲解
Mr YiRan
星光不问赶路人,时间不负有心人,前程似锦,未来可期!
展开
-
Java中的日期类整理
new SimpleDateFormat(“yyyy年MM月dd日 HH:mm:ss:SSS”).parse(“2022年10月31日 14:58:22:119”)s字符串中的日期格式必须和simpleDateFormat括号里的日期格式相同,才可以使用simpleDateFormat.parse(s)常见的格式:yyyy年MM月dd日 D HH:mm:ss:SSS(hh代表12小时制、SSS代表毫秒、D代表今天是这一年的第几天)包含两个构造器,Date()和Date(long);new Date();原创 2023-10-18 15:59:02 · 401 阅读 · 0 评论 -
Java中HashMap原理与分析
hash值的每个二进制位用abcde来表示,那么hash和新旧table按位与的结果,最后4位显然是相同的,唯一可能出现的区别就是第5位,也就是hash值的b所在的那一位,如果b所在的那一位是0,那么新table按位与的结果和旧table结果相同,反之如果b所在那一位是1,则新table按位与的结果就比旧table的结果多了10000(二进制),而这个二进制就是旧table的长度。JDK1.7中,由于多线程对HashMap的扩容,HashMap采用头插法,新插入的数据会从链表的头节点进行插入。原创 2023-08-06 21:58:49 · 235 阅读 · 0 评论 -
java基础之线程
当主线程的循环变量i等于20时,启动了名为“被Join的线程”的线程,该线程不会和main线程并发执行,main线程必须等该线程执行结束后才可以向下执行。上面程序增加了一个代表取钱的draw()方法,并使用synchronized关键字修饰该方法,把该方法变成同步方法,该同步方法的同步监听器是this,因此对于同一个Account账户而言,任何时刻只能有一个线程获得Account对象的锁定,然后进入draw()方法执行取钱操作–这样也可以保证多个线程并发取钱的线程安全。这样不具有同步安全性。原创 2023-04-09 22:19:31 · 367 阅读 · 0 评论 -
java基础之抽象类与接口
抽象方法和抽象类抽象方法和抽象类必须使用abstract修饰符来定义,有抽象方法的类只能被定义成抽象类,抽象类里可以没有抽象方法。抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。抽象类可以包含成员变量,方法(普通方法和抽象方法都可),构造器,初始化块,内部类(接口,枚举)5种成分。抽象类的构造器不能用于创建实例,主要用于其子类调用。package abs原创 2023-04-09 22:10:17 · 719 阅读 · 0 评论 -
java中的LinkedList和ArrayList的选择和区别
对于LinkedList,如果是插在链表的头部或者是尾部都是很快的,因为LinkedList中有单独的属性记录的链表的头结点和尾结点,不过,如果是插在指定下标位置,那么就需要遍历链表找到指定位置,从而降低了效率。但是,使用LinkedList是不用担心扩容问题的,链表是不需要扩容的。虽然LinkedList是一个List集合,但是它的实现方式是通过一个动态的Object[]数组来实现的,而LinkedList的底层原理是通过链表来实现的,因此它的随机访问速度比较差,但是它的删除,插入操作会很快。原创 2023-03-10 10:32:38 · 1201 阅读 · 2 评论 -
java基础之内部类
内部类内部类主要有如下作用1.内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。(比如内部类为private类型)2.内部类成员可以直接访问外部类的私有数据,因为内部类被当成其外部类成员,同一个类的成员之间可以互相访问。3.匿名内部类适合用于创建那些仅需要一次使用的类。内部类除了需要定义在其他类里面之外,还存在两点区别1.内部类比外部类可以多使用三个修饰符:private,protected,static。外部类不可以使用这三个修饰符。2.非静态内部类不能原创 2022-12-21 11:00:11 · 174 阅读 · 0 评论 -
java中的==和equals方法
java程序中测试两个变量是否相等有两种方式:一种是利用==运算符,另一种是利用equals()方法。当使用 ==来判断两个变量是否相等时,如果两个变量是基本变量,且都是数值类型,则只要两个变量的值相等,就将返回true。package Data;public class EqualTest { public static void main(String[] args) { int it=65; float f1=65.0f; //将输出tru原创 2022-11-04 17:21:29 · 366 阅读 · 0 评论 -
StackOverflow,OOM和内存泄露的区别
StackOverflow每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保存线程运行状态;当线程调用一个方法时,jvm压入一个新的栈帧到这个线程的栈中,只要这个方法还没返回,这个栈帧就存在。如果方法的嵌套调用层次太多(如递归调用),随着java栈中的帧的增多,最终导致这个线程的栈中的所有栈帧的大小总和大于-Xss设置的值,而产生StackOverflowError溢出异常。OutOfMemory堆内存溢出java堆用于存放对象的实例,当需要为对象的实例分配原创 2022-10-29 18:48:24 · 329 阅读 · 0 评论 -
java基础之注解和反射
java基础之注解和反射原创 2022-07-24 16:54:52 · 148 阅读 · 0 评论 -
java基础之枚举类
java基础之枚举类原创 2022-07-16 10:28:46 · 19030 阅读 · 2 评论