
java基础
课本里的小亮
这个作者很懒,什么都没留下…
展开
-
Java基础工具类之Scanner类和Random类
Scanner类什么是Scanner类一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in 中读取一个数:Scanner sc = new Scanner(System.in);int i = sc.nextInt();备注:System.in 系统输入指的是通过键盘录入数据。引用类型使用步骤导包使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。 格式:import 包名.类名;原创 2020-09-26 13:49:30 · 321 阅读 · 0 评论 -
图解为什么 Java 中只有值传递?
按值调用(call by value)表示方法接收的是调用者提供的值,而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址。一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。example 1public static void main(String[] args) { int num1 = 10; int num2 = 20; swap(num1, num2); System.out.println原创 2020-08-07 15:29:08 · 131 阅读 · 0 评论 -
java从零开始之JUC
文章目录TimeUnit 时间单位枚举类线程安全的集合CountDownLatch 闭锁(减法计数器)CyclicBarrier 加法计数器Semaphore信号量Queue 队列BlockingQueue四种API线程池ExecutorsExecutorServiceThreadPoolExecutorForkJoin 分治ForkJoinTaskForkJoinPoolFuture异步回调atomic 原子类锁的理解CAS 乐观锁CAS的缺点可重入锁自旋锁 SpinlockTimeUnit 时间单原创 2020-06-18 22:42:42 · 256 阅读 · 0 评论 -
java从零开始之多线程操作
文章目录线程创建继承Thread类实现Runnable接口真实开发中,类不用实现接口,直接new线程将对象传入实现Callable接口Thread方法线程状态Thread.State线程优先级priority守护线程daemon停止线程线程同步synchronized锁的范围使用方式synchronized 优化LOCKLock与synchronized的区别Volatile指令重排Volatile与synchronized的区别线程协作通信synchronized使用等待wait与唤醒notifylock原创 2020-06-14 17:27:52 · 244 阅读 · 0 评论 -
java从零开始之JMM(java内存模型)
文章目录什么是JMM内存屏障JMM的一些同步的约定8种内存交换操作八种指令使用规则什么是JMMJava内存模型(JMM-java Memory Model)是Java虚拟机定义一种的规范,JMM定义了主内存和线程工作内存的抽象关系,主内存中存储了所有的变量,任意线程都可访问,但线程对变量的操作(读取赋值等)必须在工作内存中进行.线程首先要将变量从主内存拷贝的自己的工作内存空间,然后对变量进行操作,操作完成后再将变量写回主内存,不能直接操作主内存中的变量,工作内存中存储着主内存中的变量副本拷贝.产生原创 2020-06-12 00:12:17 · 169 阅读 · 0 评论 -
java从零开始之初识JVM
文章目录什么是JVM?三种JVM运行时数据区堆内存JVM堆内存分配GC垃圾回收GC分类引用计数法(弃用)标记清除法标记压缩法复制算法分代收集算法(GC使用)类加载流程实例化对象流程双亲委派机制沙箱安全机制native方法常用JVM参数GC日志类堆空间大小调优Jprofiler分析内存什么是JVM?JVM是(Java Virtual Machine)Java虚拟机的缩写,是一个运行在操作系统之上的虚拟机。JVM 屏蔽了与操作系统平台相关的信息,使 Java 程序只需生成字节码就可以在多种平台上不加修改地原创 2020-06-09 15:02:59 · 223 阅读 · 0 评论