Java
blacktal
这个作者很懒,什么都没留下…
展开
-
HashSet底层竟然是HashMap实现
HashSet虽然实现的是Set - Collection接口,但其源码是通过new HashMap()实现的,底层数据结构是哈希表,存取都比较快,线程不安全。特点:1. 无序集合,不保证存储元素的顺序,没有索引2. 不能存储重复元素3. 可以存储Null存取基本操作,Iterator的获取跟ArrayList一样:HashSet<String> hashSe...原创 2018-07-28 11:02:25 · 5693 阅读 · 1 评论 -
I/O笔记
目录1. File类1.1 File类的常用方法1.2 文件过滤器FileFilter1.3 递归遍历文件夹练习 2. 字节流2.1 基本操作2.2 字节流读写示例2.3 使用字节流进行文件复制2.4 文件续写和换行3. 字符流3.1 基本方法3.2 字符流实现文本文件复制4. 转换流4.1 概述4.2 总结5. 缓冲流5.1 字...原创 2018-08-03 13:58:08 · 177 阅读 · 0 评论 -
TCP和UDP协议基础
UDP知识点:使用接口为 DatagramSocket 和 DatagramPacket socket 就像码头,packet 就像集装箱 想要创建一个DatagramPacket对象,首先需要了解一下它的构造方法。在创建发送端和接收端的DatagramPacket对象时,使用的构造方法有所不同,接收端的构造方法只需要接收一个字节数组来存放接收到的数据,而发送端的构造方法不但要接收存放...原创 2018-08-21 18:21:57 · 224 阅读 · 0 评论 -
I/O的一些应用补充
1. properties的应用java.lang.Object java.util.Dictionary<K,V> java.util.Hashtable<Object,Object> java.util.Propertie Properties 继承自HashTable类,是一个持久的属性集,本质也是键值对存储,可以保...原创 2018-08-04 23:23:52 · 168 阅读 · 0 评论 -
异常整理
异常:代码运行时期发生的问题,通过某些处理可以继续运行。错误:一般与虚拟机有关,如系统崩溃,虚拟机错误,动态链接失败,内存溢出、方法调用栈溢出等。这种错误无法恢复或者不可能被捕获,必须终止程序运行。1. Exception继承关系图:异常分为编译异常(也叫checked异常)和运行时异常(RuntimeException,也叫unchecked异常):编译异常:必须通过 thr...原创 2018-07-30 20:38:08 · 162 阅读 · 0 评论 -
ip地址的几种处理方式
读入String类型的ip地址,几种处理方式如下:1. ip分段,不足三位处补0 String myIp = "200.22.22.228"; //先对每段ip追加两个0,再保留后三位,从而将ip地址转换为每段3位的格式 myIp = myIp.replaceAll("(\\d{1,3})", "00$1"); myIp = myIp.replaceAll("0*(\\d原创 2016-12-21 15:53:47 · 1876 阅读 · 0 评论 -
Spring总结(一)
Spring1.1 IOCIOC 控制反转——依赖注入【都是变主动为被动,调用者只需被动接受Spring容器为调用者的成员变量赋值即可】Spring配置文件1.任何对象对Spring来说都是bean,只要是Java类即可。 2.为什么需要对象有无参构造器? 以cn.wcl.test.Person类为例,看Spring配置文件,XXXX.xml (采用配置文件注册):<bean id = “per原创 2017-03-20 16:46:18 · 196 阅读 · 0 评论 -
可重入读写锁原理分析
前段时间看了一系列并发编程博客,感觉写的不错。这里记录一下其中可重入读写锁的自己实现方法,虽然java中都有封装好的读写锁可用,但分析一下代码有助于理解锁机制的原理。 博客原地址package cn.wcl.readWriteLock;import java.util.HashMap;原创 2017-06-01 16:26:55 · 1184 阅读 · 0 评论 -
io流常见实例记录
前几天复习io流,写了一些入门实例,仅供记录参考1. 文件操作/** * 文件处理 File,包括:创建文件,创建目录,文件改名,递归打印目录下文件 * @author wangchenlu * @time 2017年7月12日 */public class Tree { public static void main(String[] args) {原创 2017-07-19 09:08:27 · 352 阅读 · 0 评论 -
关于加@Transactional注解的方法之间调用,事务是否生效的问题
之前面试被问过这个问题,回答基本靠猜,在此记录一下事务方法调用的问题。1. 不同类之间的方法调用,如类A的方法a()调用类B的方法b(),这种情况事务是正常起作用的。只要方法a()或b()配置了事务,运行中就会开启事务,产生代理。若两个方法都配置了事务,两个事务具体以何种方式传播,取决于设置的事务传播特性。2. 同一个类内方法调用:重点来了,同一个类内的方法调用就没那么简单了,假定类A的方法a()...原创 2018-02-22 16:42:08 · 47207 阅读 · 10 评论 -
关于protected权限的子类访问方式
声明为protected权限的成员变量和成员方法,可以被同一包中的所有类和不同包中的子类访问。但是,在实际使用中,不同包中的子类要访问父类中protected权限的成员,却不是那么随意的调用。看几个例子:首先在ch13Test包中定义父类Animal,包含一个protected权限的成员变量 i 和成员方法eat():package ch13Test;public class A...原创 2018-07-25 17:16:19 · 16546 阅读 · 4 评论 -
正则表达式笔记
正则表达式基础,掌握这些基础平时的工作基本就够用了。\ 转义字符 \t 制表符 \n 换行符 \r 回车符\\ 反斜杠字符类:[abc] 代表 a、b或者c字符类:[^abc] 代表除 a、b、c 之外的任何字符字符类:[0-9] 代表数字0-9字符类:[^0-9] 代表不是数字的任何字符字符类:[a-zA-Z_0-9] 代表a-z、A-Z、0...原创 2018-07-26 15:40:41 · 258 阅读 · 1 评论 -
日期的处理
1. DateFormat类日期/时间格式化抽象类,子类为SimpleDateFormat。使用方法很简单,直接上例子:String format(Date date)方法,把Date类型转换成符合指定格式的String对象Date parse(String str)方法,把符合某种格式的String类反转回Date对象(必须与SimpleDateFormat对象的格式匹配)Simp...原创 2018-07-26 22:24:02 · 129 阅读 · 0 评论