Java基础
文章平均质量分 87
Java基础+源码分析
徐同学呀
致力于java底层、源码、中间件、后端领域学习和探索。热爱源码,热爱生活,持续改进,坦诚合作!
展开
-
FileChannel(API详解)
1、两种获取通道的方法2、read3、write4、获取和设置通道的位置、大小5、long transferTo(position,count,WritableByteChannel dest)6、long transferFrom(ReadableByteChannel src,position,count)8、将通道文件区域直接映射到内存 map()1、两种获取通道的方法FileChan...原创 2019-03-23 09:44:49 · 6750 阅读 · 0 评论 -
ByteBuffer缓冲区的三种创建方式与解读
1、allocate()创建堆缓冲区2、allocateDirect()创建直接缓冲区3、wrap()创建堆缓冲区4、直接缓冲区和非直接缓冲区的比较:字节缓冲区分为直接字节缓冲区与非直接字节缓冲区。1、allocate()创建堆缓冲区 ByteBuffer buffer1 = ByteBuffer.allocate(10); allocate()方法的作用:分配一个新的非直接...原创 2019-03-23 09:16:47 · 4191 阅读 · 0 评论 -
Java双亲委派模型:为什么要双亲委派?如何打破它?破在哪里?
1. 双亲委派就是类加载器之间的层级关系,加载类的过程是一个递归调用的过程,首先一层一层向上委托父类加载器加载,直到到达最顶层启动类加载器,启动类加载器无法加载时,再一层一层向下委托给子类加载器加载。2. 双亲委派的目的主要是为了保证`java`官方的类库`\lib`和扩展类库`\lib\ext`的加载安全性,不会被开发者覆盖。...原创 2021-06-01 23:11:31 · 14609 阅读 · 29 评论 -
Runtime.getRuntime().exec踩坑总结(/bin/sh -c、异常流重定向)
1、exec(java.lang.String)`并不是想当然的是一个由命令+参数拼接的字符串。2、exec(java.lang.String[])`数组第一个元素是命令,从第二个元素起都是第一个元素命令的参数。3、可通过`/bin/sh -c`将一个多操作命令合并成一个完整命令执行,避免创建可执行脚本文件。4、用于控制进程的类`Process`,有三种I/O流管道,互相独立,管道空时不可读,满时不可写,遇到三个流管道中至少一个处于不可读写状态时,命令进程会阻塞等待。原创 2020-12-20 18:24:59 · 9950 阅读 · 1 评论 -
java基础thread——多线程的纷争(循序渐进)
一、多线程概述进程:正在运行的程序,是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。多进程有什么意义呢?单进程的计算机只能做一件事情,而我们现在的计算机都可以做多件事情。 举例:一边玩游戏(游戏进程),一边听音乐(音乐进程)。 也就是说现在的计算机都是支持多进程的,可以在一个时间段内执行多个任务。 并且呢,可以提高CPU的使用率。...原创 2018-06-03 21:42:25 · 330 阅读 · 1 评论 -
java基础thread——java5之后的多线程(浅尝辄止)
承上启下虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock。一、JDK5中Lock锁的使用 void lock() 上锁 void unlock() 释放锁代码示意:public class SellTicket imple...原创 2018-06-03 21:37:38 · 401 阅读 · 0 评论 -
Java反射——框架设计的灵魂
java反射概念:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。获取Class类的实例对象的三种方式在面向对象的世界里,万事万物皆对象。(java语言中,静态的成员、普通数据类型除外)类是不是对象呢?类是(哪个类的对象呢?)谁...原创 2018-05-21 21:49:51 · 1404 阅读 · 0 评论 -
java基础io流——File告白(重温经典)
File类概述和构造方法File类的概述文件和目录路径名的抽象表示形式构造方法 public File(String pathname) public File(String parent,String child) public File(File parent,String child)代码示例: ...原创 2018-05-28 13:13:41 · 838 阅读 · 0 评论 -
java基础io流——OutputStream和InputStream的故事(温故知新)
io流概述:IO流用来处理设备之间的数据传输,上传文件和下载文件,Java对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中。IO流分类按照数据流向输入流 读入数据输出流 写出数据按照数据类型字节流字符流什么情况下使用哪种流呢?如果数据所在的文件通过windows自带的记事本打开并能读懂里面的内容,就用字符流,其他用字节流。如果你什么都...原创 2018-05-28 17:53:06 · 114744 阅读 · 15 评论 -
java基础io流——字符流的变革(深入浅出)
乱码导火索:在io流里,先诞生了字节流,但是字节流读取数据会有乱码的问题(读中文会乱码)。比如:FileInputStream fis = new FileInputStream("a.txt");// int by = 0;// while ((by=fis.read() )!= -1) {// System.out.print...原创 2018-05-29 17:23:41 · 1071 阅读 · 0 评论 -
java基础io流——配角也风流(不求甚解)
本章简单介绍几个常见的io流派生。1:数据操作流(操作基本类型数据的流)(理解)(1)可以操作基本类型的数据(2)流对象名称 DataInputStream DataOutputStream代码示例:private static void read() throws IOException { // DataInputStrea...原创 2018-05-30 09:54:28 · 668 阅读 · 0 评论