java
panghaomingme
这个作者很懒,什么都没留下…
展开
-
线程运行状态(Java)
线程运行状态(Java)原创 2023-01-29 17:12:07 · 48 阅读 · 0 评论 -
String构造函数详解
String字符串的构造方法有两种第一种:通过“字面量”的形式直接赋值String str = "hello";第二种:通过 new 关键字调用构造函数创建对象String str = new String("hello");JDK1.7以后的 JVM 的内存分布常量池:Java运行时会维护一个String Pool(String池), 也叫“字符串缓冲区”。Str...原创 2020-03-25 14:30:30 · 3337 阅读 · 0 评论 -
== 运算符和 equals 方法
== 运算符用于比较基本类型的值是否相同,或者比较两个对象的引用是否相等,而 equals 用于比较两个对象是否相等。对于我们自定义的一个对象,如果不重写 equals 方法,那么在比较对象的时候就是调用 Object 类的 equals 方法,也就是用 == 运算符比较两个对象。看一下Object 类中的equals 方法:public boolean equals(Object o...原创 2020-03-24 14:53:53 · 202 阅读 · 0 评论 -
Java Stack中add和push的区别 peek和pop的区别
package algorithm;import java.util.Stack;/*add & push 共同点: 1.add,push都可以向stack中添加元素。 不同点: 1.add是继承自Vector的方法,且返回值类型是boolean。2.push是Stack自身的方法,返回值类型是参数类类型。peek & pop共同点:1.peek,po...原创 2020-03-18 15:06:04 · 2923 阅读 · 1 评论 -
集合框架底层数据结构总结
Collection1. ListArraylist: Object数组Vector: Object数组LinkedList: 双向链表(JDK1.6之前为循环链表,JDK1.7取消了循环)2. SetHashSet(无序,唯一): 基于 HashMap 实现的,底层采用 HashMap 来保存元素LinkedHashSet: LinkedHashSet 继承于 HashSet,并且其...原创 2019-12-06 09:46:17 · 159 阅读 · 0 评论 -
==与equals的区别
==是判断两个变量或实例是不是指向同一个内存空间 equals是判断两个变量或实例所指向的内存空间的值是不是相同 ==是指对内存地址进行比较 equals()是对字符串的内容进行比较 ==指引用是否相同 equals()指的是值是否相同 ...原创 2019-12-06 09:33:20 · 65 阅读 · 0 评论 -
乐观锁和悲观锁
悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观锁思...原创 2019-12-06 09:26:30 · 72 阅读 · 0 评论 -
最常用的15大Eclipse开发快捷键技巧
1、alt+?或alt+/:自动补全代码或者提示代码这个是我最得意的快捷键组合了,尤其是当输入syso几个字符之后,2个手指轻松按下这2个键的时候,自动就补全System.out.println();了,而且eclipse默认是出现“.”进行方法提示,如果中间提示断了想再看的话还得重新在对应类或者变量的前边输入“.”才可以再看到提示,不过如果这2个键结合是使用同样可以起到提示的作用,你可以试...原创 2018-11-28 10:31:32 · 136 阅读 · 0 评论 -
字节流与字符流的区别
InputStream,OutputStream,Reader,WriterInputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,如果是音频文件、图片、歌曲,就用字节流好点Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串.如果是关系到中文(文本)的,用字符流好点原创 2016-10-08 16:16:40 · 172 阅读 · 0 评论 -
java基础知识陷阱
Java基础知识陷阱1. 浮点运算陷阱float和double不能进行精确运算不能使用简单的四舍五入的方法解决上述问题可以使用BigDecimal类解决//浮点运算陷阱public classFloatTrap { public static void main(String[] args) { System.out.pri原创 2016-10-02 14:19:43 · 224 阅读 · 0 评论 -
java基础知识点
1. Java关键字:Java所有的关键字都是小写goto和const是保留关键字,在java中没有使用true,false,null不是严格意义上的关键字,而是文字常量程序遇到return语句不会执行finally语句 2. Java数据类型:8种基本数据类型:byte(1),short(2),int(4),long(8),float(4),dou原创 2016-10-02 13:19:12 · 171 阅读 · 0 评论 -
Java中的访问修饰符详细解析
1、类的修饰符分为:可访问控制符和非访问控制符两种。 可访问控制符是:公共类修饰符 public非访问控制符有:抽象类修饰符 abstract ;最终类修饰符 final1 )公共类修饰符 public : Java 语言中类的可访问控制符只有一个: public 即公共的。每个 Java 程序的主类都必须是 public 类作为公共工具供其它类和程序使用的应定义为 p原创 2016-10-11 14:49:19 · 383 阅读 · 0 评论 -
Java访问权限修饰符的区别
Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符:private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进原创 2016-10-11 14:58:23 · 334 阅读 · 0 评论 -
java集合架构详解
综述 结合框架体系应该最重要的是如何灵活利用三种接口,set,map,list,他们如何遍历,各有什么特征,怎么样去处理,这是关键,在这个基础上再去掌握在什么场合用什么类型的接口。比如说list和set,set是无序的一个空袋子,当我们只需要放入取出,这个接口当然是最实用的,但是如果我们需要按序取出,这个方法就不能用了,而要用到list,map接口就有个特点,它有一个特定的key值,原创 2016-10-12 10:40:42 · 167 阅读 · 0 评论 -
StringBuilder、StringBuffer和String三者的联系和区别
StringBuilder、StringBuffer和String三者的联系和区别 1. String 类 String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间。 String a = "a"; //假设a指向地址0x0001 a = "b";//重新赋值后a指向地址0x0002,但原创 2016-10-12 10:42:33 · 177 阅读 · 0 评论 -
Jvm工作原理学习笔记
一、 JVM的生命周期1. JVM实例对应了一个独立运行的java程序它是进程级别a) 启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点b) 运行。main()作为该程序初始线程的起点,任原创 2016-10-12 10:56:39 · 180 阅读 · 0 评论 -
Java面向对象20个精华知识点
1. 抽象、继承、多态、封装是面向对象程序设计的四个特点。2. 面向对象的软件开发大体分为:面向对象的分析,面向对象的设计,面向对象的实现。3. 面向对象程序设计方法的优点:可重用性,可扩展性,可管理性。4. 类的定义:class前的修饰符分为访问控制修饰符和非访问控制修饰符两大类。访问控制修饰符包括public和private。非访问控制修饰符包括abstract(抽象)和f原创 2016-10-01 23:42:20 · 431 阅读 · 0 评论 -
java内存空间详解
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:◆寄存器:我们在程序中无法控制◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中◆堆:存转载 2016-10-01 23:49:09 · 172 阅读 · 0 评论 -
java内存管理机制
JAVA 内存管理总结1. java是如何管理内存的 Java的内存管理就是对象的分配和释放问题。(两部分) 分配 :内存的分配是由程序完成的,程序员需要通过关键字new 为每个对象申请内存空间 (基本类型除外),所有的对象都在堆 (Heap)中分配空间。释放 :对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的工作。因为,转载 2016-10-01 23:50:03 · 218 阅读 · 0 评论 -
抽象类和接口
接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final。另外,接口和抽象类在方法上有区别: 1.抽象类可以有构造方法,接口中不能有构造方法。 2.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽原创 2016-10-11 14:40:40 · 167 阅读 · 0 评论