随笔分类 - JavaSE
记录Java学习
摘要:synchronized原理剖析与优化 同时访问synchronized的静态和非静态方法,能保证线程安全吗? 结论:不能,两者的锁对象不一样。前者是类锁(XXX.class),后者是this 同时访问synchronized方法和非同步方法,能保证线程安全吗? 结论:不能,因为synchroniz
阅读全文
摘要:1、线程和进程 线程:线程是进程的一个实体,是CPU调度和分派的基本单元。 进程:进程是具有一定独立功能的程序,它是系统进程资源分配和调度的一个独立单元。 区别: (1)一个线程只属于一个进程,一个进程包含一个或者多个线程。 (2)进程拥有独立的内存单元,而多个线程共享内存。 (3)进程的创建调用f
阅读全文
摘要:1. 可变性 String 不可变 StringBuffer 和 StringBuilder 可变 2. 线程安全 String 不可变,因此是线程安全的 StringBuilder 不是线程安全的 StringBuffer 是线程安全的,内部使用 synchronized 进行同步
阅读全文
摘要:都是面向对象的语言,都支持封装、继承和多态 Java 不提供指针来直接访问内存,程序内存更加安全 Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。 Java 有自动内存管理机制,不需要程序员手动释放无用内存
阅读全文
摘要:要求: 计算一个字符串中每个字符出现次数。经验:这里使用HashMap<K,V>的好处,就是会hashMap里会自动把键重复的去掉 1. 获取一个字符串对象2. 创建一个Map集合,键代表字符,值代表次数。3. 遍历字符串得到每个字符。4. 判断Map中是否有该键。5. 如果没有,第一次出现,存储次
阅读全文
摘要:方法: 1.public K getKey() :获取Entry对象中的键。2.public V getValue() :获取Entry对象中的值。3.public Set<Map.Entry<K,V>> entrySet() : 获取到Map集合中所有的键值对对象的集合(Set集合)。 代码: 1
阅读全文
摘要:代码: 1 import java.util.*; 2 3 public class Poker2 { 4 public static void main(String[] args) { 5 /* 6 * 1组装54张扑克牌 7 */ 8 //1.1创建Map集合储存 9 HashMap<Inte
阅读全文
摘要:代码: 1 import java.util.ArrayList; 2 import java.util.Collections; 3 4 public class Poker1 { 5 public static void main(String[] args) { 6 /* 7 * 1: 准备牌
阅读全文
摘要:方法: 1.public void addFirst(E e) :将指定元素插入此列表的开头。2.public void addLast(E e) :将指定元素添加到此列表的结尾。3.public E getFirst() :返回此列表的第一个元素。4.public E getLast() :返回此
阅读全文
摘要:自定义一个Student对象类 代码: 1 import java.util.Objects; 2 3 public class Student { 4 private String name; 5 private int age; 6 7 public Student(String name, i
阅读全文
摘要:java.util.HashSet 是 Set 接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的(即存取顺序不一致)。 代码: 1 import java.util.HashSet; 2 3 /* 4 java.util.HashSet 是 Set 接口的一个实现类,它所存储的元素是
阅读全文
摘要:方法: 1.public static <T> boolean addAll(Collection<T> c, T... elements) :往集合中添加一些元素。2.public static void shuffle(List<?> list) 打乱顺序 :打乱集合顺序。3.public st
阅读全文
摘要:Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set。List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayLis
阅读全文
摘要:java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单方法:public static String toString(int[] a) :返回指定数组内容的字符串表示形式。public static void sort(int[
阅读全文
摘要:java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。 ArrayList 中可不断添加元素,其大小也自动增长。 方法:public boolean add(E e) :将指定的元素添加到此集合的尾部。public E remo
阅读全文
摘要:public int nextInt(int n) :返回一个伪随机数,范围在 0 (包括)和 指定值 n (不包括)之间的int 值。 代码: 猜数字 1 import java.util.Random; 2 import java.util.Scanner; 3 4 public class R
阅读全文

浙公网安备 33010602011771号