随笔分类 - JAVA中阶
摘要:先上结论: 不要直接用double变量作为构造BigDecimal的参数。 线上有这么一段Java代码逻辑: 1,接口传来一个JSON串,里面有个数字:57.3。 2,解析JSON并把这个数字保存在一个float变量。 3,把这个float变量赋值给一个 BigDecimal对象,用的是BigDec
阅读全文
摘要:Java里的LinkedList可以同时作为堆栈和队列使用,因此在使用的时候总是会弄混他们的方法,此文就简单总结一下作为不同数据结构使用时的用法。 作为队列 方法 声明 任意两种方法: 一是直接声明LinkedList: LinkedList<T> q = new LinkedList<T>();
阅读全文
摘要:之前在有需要用到栈功能的时候,都是通过使用Stack接口完成的,也就是: 1 Stack<T> stack = new Stack<>() 但今天突然发现,Java Doc里建议用Deque替代Stack接口完成栈的功能,于是我稍微研究了一下。 Java Doc 在JavaDoc for Stack
阅读全文
摘要:概述Jetbrains家的产品有一个很良心的地方,他会允许你试用30天(这个数字写死在代码里了)以评估是否你真的需要为它而付费。 事实上有一款插件可以实现这个功能,你或许可以用它来重置一下试用时间。但切记不要无休止的一直试用,这并不是这个插件的本意! 步骤下载zip文件https://pan.bai
阅读全文
摘要:接下来将介绍《深入理解java虚拟机》一书中的案例,并解答它所提出的问题。(部分类容来自于书中原文) Tomcat中的类加载器在Tomcat目录结构中,有三组目录(“/common/*”,“/server/*”和“shared/*”)可以存放公用Java类库,此外还有第四组Web应用程序自身的目录“
阅读全文
摘要:package com.atguigu.java2; import com.atguigu.java1.Person; import org.junit.Test; import java.lang.reflect.Constructor; import java.lang.reflect.Fiel
阅读全文
摘要:JVM垃圾回收算法两个概念:新生代:存放生命周期较短的对象的区域。老年代:存放生命周期较长的对象的区域。 相同点: 都在Java堆上 1.标记–清除算法(Mark-Sweep)执行步骤: 标记:遍历内存区域,对需要回收的对象打上标记。清除:再次遍历内存,对已经标记过的内存进行回收。图解: 缺点: 效
阅读全文
摘要:加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口(即引用地址)。所有需要访问和使用类数据只能通过这个Class对象。这个加载的过程需要类加载器参与。链接:将Java
阅读全文
摘要:Class 类 对象照镜子后可以得到的信息:某个类的属性、方法和构造器、某个类到底实现了哪些接口。对于每个类而言,JRE 都为其保留一个不变的 Class 类型的对象。一个 Class 对象包含了特定某个结构(class/interface/enum/annotation/primitive t
阅读全文
摘要:URL类URL(Uniform Resource Locator):统一资源定位符,它表示 Internet 上 某一资源的地址。它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。通过 URL 我们可以访问 Internet 上的各种网络资源,比如最常见
阅读全文
摘要:UDP 网络通信 类 DatagramSocket 和 DatagramPacket 实现了基于 UDP 协议网络程序。 UDP数据报通过数据报套接字 DatagramSocket 发送和接收,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。 DatagramPack
阅读全文
摘要:服务器建立 ServerSocket 对象ServerSocket 对象负责等待客户端请求建立套接字连接,类似邮局某个窗口中的业务员。也就是说, 服务器必须事先建立一个等待客户请求建立套接字的 连接的ServerSocket 对象。所谓“接收”客户的套接字请求,就是accept()方法会返回一个
阅读全文
摘要:通信要素2:网络协议 网络通信协议计算机网络中实现通信必须有一些约定,即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。 问题:网络协议太复杂计算机网络通信涉及内容很多,比如指定源地址和目标地址,加密解密,压缩解压缩,差错控制,流量控制,路由控制,如何实现如此复杂的网络
阅读全文
摘要:1.对象流: ObjectInputStream 和 ObjectOutputStream2.作用:ObjectOutputStream:内存中的对象 >存储中的文件、通过网络传输出去:序列化过程ObjectInputStream:存储中的文件、通过网络接收过来 >内存中的对象:反序列化过程3.对象
阅读全文
摘要:1. 标准的输入输出流:System.in:标准的输入流,默认从键盘输入System.out:标准的输出流,默认从控制台输出 修改默认的输入和输出行为:System类的setIn(InputStream is) / setOut(PrintStream ps)方式重新指定输入和输出的流。 2. 打印
阅读全文
摘要:补充:字符编码 编码表的由来计算机只能识别二进制数据,早期由来是电信号。为了方便应用计算机,让它可以识别各个国家的文字。就将各个国家的文字用数字来表示,并一一对应,形成一张表。这就是编码表。 常见的编码表 ASCII:美国标准信息交换码。 用一个字节的7位可以表示。 ISO8859-1:
阅读全文
摘要:1.转换流涉及到的类:属于字符流InputStreamReader:将一个字节的输入流转换为字符的输入流解码:字节、字节数组 >字符数组、字符串 OutputStreamWriter:将一个字符的输出流转换为字节的输出流编码:字符数组、字符串 > 字节、字节数组 说明:编码决定了解码的方式 2.作用
阅读全文
摘要:处理流之一 :缓冲流 当读取数据时,数据按块读入缓冲区,其后的读操作则直接访问缓冲区 当使用BufferedInputStream读取字节文件时,BufferedInputStream会一次性从文件中读取8192个(8Kb),存在缓冲区中,直到缓冲区装满了,才重新从文件中读取下一个8192个字
阅读全文
摘要:/** * 测试FileInputStream和FileOutputStream的使用 * * 结论: * 1. 对于文本文件(.txt,.java,.c,.cpp),使用字符流处理 * 2. 对于非文本文件(.jpg,.mp3,.mp4,.avi,.doc,.ppt,...),使用字节流处理 *
阅读全文
摘要:读取文件 1.建立一个流对象,将已存在的一个文件加载进流。 FileReader fr = new FileReader(new File(“Test.txt”));2.创建一个临时存放数据的数组。 char[] ch = new char[1024];3.调用流对象的读取方法将流中的数据读入到
阅读全文

浙公网安备 33010602011771号