随笔分类 -  Java Core

java核心机制及JavaSE
IO缓冲流
摘要:IO缓冲流 [TOC] 缓冲流也叫高效流,能够更高效的进行读取; 转换流:能够进行编码转换 序列化流:持久化存储对象 缓冲流 缓冲流 就是对应4个File 流的增强流 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReade 阅读全文

posted @ 2019-04-14 22:10 Swagger-Ranger 阅读(531) 评论(0) 推荐(0)

打印流-PrintStream
摘要:打印流 PrintStream java.io.PrintStream为其他输出流添加了功能,使其他的流能够更方便的打印各种数据值表现形式 PrintStream特点: 1.只负责数据的输入,不负责数据的读取 2.与其他流不同,PrintStream不会抛出IOException异常 3.特有方法p 阅读全文

posted @ 2019-04-14 22:08 Swagger-Ranger 阅读(265) 评论(0) 推荐(0)

Java BIO
摘要:BIO [TOC] IO:input/output input:从磁盘读到内存 output:从内存存到磁盘 Java中IO分为:字节流和字符流 字节流 一切文件数据在存储时,都是以二进制数字的形式保存 OutputStream 所有的输出流都继承自java.io.OutputStream类,Out 阅读全文

posted @ 2019-04-14 22:07 Swagger-Ranger 阅读(267) 评论(0) 推荐(0)

Properties IO持久化
摘要:Properties IO持久化 Properties类表示一组持久的属性。 Properties可以保存到流中或从流中加载。 属性列表中的每个键及其对应的值都是一个字符串。 方法: String getProperty(String key) 使用此属性列表中指定的键搜索属性。 String ge 阅读全文

posted @ 2019-04-14 22:05 Swagger-Ranger 阅读(356) 评论(0) 推荐(0)

File
摘要:File [TOC] 文件和目录路径名的抽象表示,一般,file:操作文件,directory:目录/文件夹,path:路径 分隔符 当在不同系统中路径分割符;:和名称分隔符\/\是不同的,可以使用File的静态变量来表示以做到系统无关 public static final String path 阅读全文

posted @ 2019-04-14 22:04 Swagger-Ranger 阅读(192) 评论(0) 推荐(0)

JVM垃圾回收
摘要:JVM垃圾回收 [TOC] 定义     程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存 资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。     C/C++语言的垃圾回收 在C 阅读全文

posted @ 2019-04-14 22:00 Swagger-Ranger 阅读(1048) 评论(0) 推荐(0)

JVM优化
摘要:JVM优化 [TOC] "参考" JVM优化 设置并行垃圾回收器 注意:具体的参数可能在不同的JDK版本中有差异 调整堆年代大小 先来复习下堆的组成: JVM占用的内存=metaspace+Heap Heap = {Old + NEW = { Eden , from, to } } 具体调优: ms 阅读全文

posted @ 2019-04-14 21:48 Swagger-Ranger 阅读(407) 评论(0) 推荐(0)

Java编码优化
摘要:Java编码优化 1.尽可能使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中速度较快,其他变 量,如静态变量、实例变量等,都在堆中创建,速度较慢。另外,栈中创建的变量,随 着方法的运行结束,这些内容就没了,不需要额外的垃圾回收。 2.尽量减少对变量的重复计算 明确一个概念,对 阅读全文

posted @ 2019-04-14 21:44 Swagger-Ranger 阅读(261) 评论(0) 推荐(0)

Java字节码分析
摘要:Java字节码分析 [TOC] 对于源码的效率,但从源码来看有时无法分析出准确的结果,因为不同的编译器版本可能会将相同的源码编译成不同的字节码,Java真正执行的也是字节码,所以要分析源码的性能需要从字节码的角度分析。 查看字节码详细内容 javap javap 查看classFile的命令并将输出 阅读全文

posted @ 2019-04-14 21:43 Swagger-Ranger 阅读(232) 评论(0) 推荐(0)

Java Lambda表达式 Stream
摘要:Stream Stream不是集合元素,它不是数据结构并不保存数据,而是有关算法和计算的,更像是一个高级版本的Iterator,原始版本的Iterator,用户只能显式地一个一个遍历元素并对其进行操作,Stream则只需要对其包含的元素执行什么操作,比如”过滤掉长度大于10的字符串“,"获取每个字符 阅读全文

posted @ 2019-04-08 13:31 Swagger-Ranger 阅读(260) 评论(0) 推荐(0)

Java Lambda表达式
摘要:Lambda [TOC] Lambda表达式:Java8引入的,一种紧凑,传递行为的方式。整个的思想就是函数式编程,什么是函数式编程,即:函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副 阅读全文

posted @ 2019-04-08 13:29 Swagger-Ranger 阅读(209) 评论(0) 推荐(0)

Java 同步容器和并发容器
摘要:同步容器和并发容器 先解释一下概念,说下自己的理解: 同步和异步:同步就是串行,两个操作要串行先后一起完成后面的操作要等前面的完成并返回结果才能往下走,而异步则后面的操作可以不用等前面的操作是否完成就能执行自己的操作 阻塞和非阻塞:阻塞就是加锁,某一线程拿到锁之后其他线程就只能等待,非阻塞就是不加锁 阅读全文

posted @ 2019-04-08 13:26 Swagger-Ranger 阅读(327) 评论(0) 推荐(0)

Java 多线程 Fork/Join
摘要:Fork/Join Fork/Join将大任务切分成小任务来分治运算,fork分join合。 一般直接使用ForkJoinTask的子类RecursiveTask。 RecursiveTask的用法 1.新建类A来继承RecursiveTask,实现compute()方法,这个方法就是需要分治的代码 阅读全文

posted @ 2019-04-08 13:24 Swagger-Ranger 阅读(210) 评论(0) 推荐(0)

Java CyclicBarrier
摘要:CyclicBarrier CyclicBarrier,需要等待一组线程全部到达一个指定的点后才能一起执行,就如果开会,需要等人都到齐才开始一样。 创建一个新的 CyclicBarrier ,当给定数量的线程(线程)正在等待时,它将跳闸,当屏障跳闸时执行给定的屏障动作,由最后一个进入屏障的线程执行。 阅读全文

posted @ 2019-04-08 13:23 Swagger-Ranger 阅读(516) 评论(0) 推荐(0)

Java CountDownLatch
摘要:CountDownLatch CountDownLatch使用在当有多个线程一起执行,有任务需要在一定条件下才能执行,CountDownLatch维护一个数,当数减为0时后面的才开始执行。 使用结构 在统筹线程中即最后再执行的线程中新建CountDownLatch 在需要多组线程一起执行的方法中传入 阅读全文

posted @ 2019-04-08 13:22 Swagger-Ranger 阅读(143) 评论(0) 推荐(0)

Java Condition
摘要:Condition condition是相对synchronized的线程通信的更加灵活的方式。 用法 新建锁lock 建立condition, lock.newCondition(); 在锁住的代码中使用condition.await()和condition.signal()/condition. 阅读全文

posted @ 2019-04-08 13:21 Swagger-Ranger 阅读(335) 评论(0) 推荐(0)

Java Lock
摘要:Lock [TOC] lock是一个JDK1.5提供的多线程接口, "JDK API" ,位置就在java/util/concurrent/locks/下 使用锁实现线程安全的关键在于,所有要共享资源的线程都必须使用一把锁,所以一般锁都会设为全局变量,如果设为局部变量就要注意可能每个线程在进入时都会 阅读全文

posted @ 2019-04-08 13:19 Swagger-Ranger 阅读(167) 评论(0) 推荐(0)

JDK原子类操作
摘要:JDK原子类操作及原理 在JDK5之后,JDK提供了对变量的原子类操作, java.util.concurrent.atomic里都是原子类 原子类的分类 原子更新基本类型 原子更新数组 原子更新抽象类型 原子更新字段 原子基本类型 本博客为Swagger Ranger的笔记分享,文中源码地址: h 阅读全文

posted @ 2019-04-08 13:17 Swagger-Ranger 阅读(182) 评论(0) 推荐(0)

Volatile关键字
摘要:Volatile 可见性:一个线程修改了变量的值,其他的线程能够及时读到变量修改后的值。 多线程之间保证可见性的前提,就是多个线程拿到的是同一把锁 volatile:称为轻量级锁,被volatile修饰的变量,在线程之间是可见的。synchronized也是线程可见的,但synchronized比较 阅读全文

posted @ 2019-04-08 13:15 Swagger-Ranger 阅读(219) 评论(0) 推荐(0)

Java 多线程
摘要:多线程 [TOC] 资源: "url" 线程与进程 进程:运行中的程序,属于操作系统级别的 1.进程是资源分配的基本单位 2.进程中包含多个线程,线程共享进程资源 3.线程是处理器调度的基本单位 线程状态 线程的状态有7种,如下 当启动一个线程就会进入就绪状态(ready to run),当线程获取 阅读全文

posted @ 2019-04-08 13:13 Swagger-Ranger 阅读(238) 评论(0) 推荐(0)

导航