java
丝路花雨-
一无所有则无所不能
展开
-
List,Map,Set的加载因子,初始容量和扩容增量
加载因子,初始容量,扩容增量的概念1.初始容量,就是创建时可容纳的默认元素个数; 加载因子,表示某个阀值,用0~1之间的小数来表示,当已有元素占比达到这个阀值后,底层将进行扩容操作; 扩容方式,即指定每次扩容后的大小的规则,比如翻倍等。List,Map,Set之间的比较1.List是有序的,可重复的,ArrayList,Vector默认初始容量为10 Vector:线程安全,但...原创 2020-02-20 14:18:54 · 950 阅读 · 0 评论 -
java Set接口
HashSet1.使用HashSet主要用来去重//创建一个HashSetHashSet set = new HashSet<>();//添加d d boolean b1 = set.add("d"); boolean b2 = set.add("d"); set.add("a"); set.add("b");原创 2018-01-23 20:36:00 · 247 阅读 · 0 评论 -
java 多线程之线程的中断
测试interrupt中断线程1.//首先创建Runnable接口的实现类 class StopRunnable implements Runnable{ @Override public void run(){ // 利用死循环方法测试能不能停止程序 while (!Thread.currentThread().isInterrup原创 2018-02-07 20:14:46 · 264 阅读 · 0 评论 -
java Writer与Reader详解
字符流1. 字符输出流 一个字符一个字符的读 只能用来操作文本(不能写图片 音频 视频) Write(所有字符输出流的父类 抽象类) FileWrite(OutputStreamWriter的子类) 构造方法(绑定写入的路径): 文件 字符串 mac系统 一个中文字符3个字节 默认使用的UTF-8的编码表(通用的编码表)原创 2018-01-31 21:53:51 · 7748 阅读 · 0 评论 -
java合并流详解
合并流1.合并流 SequenceInputStream 合并功能(可以把 多个文件合读成成一个文件) 构造方法: 参数 是迭代器 是Vector特有的 该Vector要保存的是 InputStream的子类 SequenceInputStream(Enumeration<? extends InputStream> e) 参数 传两个字节输入流 Seq...原创 2018-02-05 20:32:24 · 2140 阅读 · 0 评论 -
java Collection接口
接口Collection1.集合概况 2.集合特点 1.能添加不同类型的元素 注意:集合中只能添加 引用数据类型(只能添加对象类型) 2.长度可变 集合collection接口中的方法 集合可以保存不同数据类型的数据 保存基本数据类型是以自动装箱的形式 进行存储 3.Collection的基本方法 public static void fun1() {原创 2018-01-18 21:30:30 · 244 阅读 · 0 评论 -
java 缓冲流 对象流
缓冲流(高效率的流)1.缓冲流字节流 BufferedOutputStream 缓冲输出字节流 构造方法: BufferedOutputStream(OutputStream out) 参数:字节输出流的父类 FileOutputStream 想对哪个流高效 就把谁传进去 BufferedInputStream 缓冲输入字节流 //缓冲字节流写入原创 2018-02-01 22:25:49 · 684 阅读 · 1 评论 -
Java JDBC连接数据库
JDBC的概念JDBC Java Database connectivityJava数据库连接规范(一套接口) Sun公司提供的 JDBC四个核心类 DriverManager 创建连接 Connection 连接类 Statement 执行sql语句 ResultSet 结果集 JDBC连接步骤 1.注册驱动 ...原创 2018-03-22 20:52:05 · 209 阅读 · 0 评论 -
引入jar包操作数据库与连接池
commons-dbutils-1.6.jar1.commons-dbutils-1.6.jar 操作JDBC连接数据库 并且执行sql语句 处理返回的结果集 三个核心类 DbUtils: 关闭资源的方法(安静的关闭 不用异常处理) QueryRunner: 执行sql语句 并且返回你想要的结果集 参数: ResultSetHandler是接口(使用它的实现类 想要什么结果集 就...原创 2018-03-23 21:20:31 · 3463 阅读 · 0 评论 -
事物与Hibernate详解
事物1.事物原子性:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。持久性:指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发 生故障也不应该对其有任何影响隔离性:事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被 ...原创 2018-04-08 20:01:47 · 235 阅读 · 0 评论 -
java类和对象
java类和对象初识类和对象1.类里有属性和方法,一般使用class修饰,属性一般使用名词来修饰,方法一般使用动词来修饰类中写的成员变量写在类中方法外成员方法写在类中创建对象:类名 对象名 = new 类名();在类中声明的变量在堆内存中又默认值,成员变量的作用域:在整个类中都可以访问到访问成员变量:对象点成员变量;调用成员方法:对象点方法2.成员变量和局部变...原创 2018-01-08 21:30:42 · 232 阅读 · 0 评论 -
java继承与代码块
java继承与代码块一.继承1.继承特点: 1.减少你的代码量 2.让类与类之间产生关联2.注意: 1.继承时 可把多个类中 相同的功能或方法 抽取出来 重新构造一个类出来 把这些类 建立继承关系 2.建立继承关系的同时 一定要符合逻辑(切记不要为了继承而继承) 3.继承的关系一定要符合 子类是父类3.继承写法:class 子类 extends 父类4.java ...原创 2018-01-10 20:36:17 · 692 阅读 · 0 评论 -
java 接口的回调 与 volatile关键字
接口的回调1./* * 利用接口实现 主线程处理逻辑 * 子线程 去读取文件 并打印 */ //首先声明一个接口 public interface ReadFileInter { public abstract void readFile(String string);} // 创建一个功能类 public class Read { // 使...原创 2018-02-08 19:20:51 · 270 阅读 · 0 评论 -
Hibernate详解
主键使用hibrenate操作数据库必须有主键1.主键类型(1.自然主键 例如: 人的身份证号 保证了 非空不重复 符合主键的贴点 并且身份证号 本身是业务字段 可以作为主键使用 叫做自然主键(2.代理主键(常用) 找不到主键(没有业务字段符合主键规则) 写一个没有任何意义的主键id列 作为主键 就是为了非空不重复 叫做代理主键2.主键生成策略(7个) iden...原创 2018-04-09 21:43:00 · 412 阅读 · 0 评论 -
Spring基础详解
Spring简介1.Spring是一个一站式的分成结构 轻量级的开发框架 特点: 开源 轻量级(体积小) 分层架构(按需添加) 一站式(对目前流行的框架支持非常高) IOC DI 可以把Spring理解为对象的管家 帮我们管理项目中用到的对象 使用Spring的好处 降低复杂性 松耦合 ...原创 2018-04-18 22:14:04 · 185 阅读 · 0 评论 -
java Map详解
Map详解1.Map简述 Map(双列集合的跟接口) 1.以键值对形式保存数据 key--value 2.键保持唯一HashSet 和 HashMap之间的联系底层都是哈希算法 一套算法 两个类使用HashSet 底层是依赖HashMap 实现的添加到Set中的值 实际上是添加到Map中的 键的位置HashMap 有去重功能 指的是键TreeMap 有排序功能 指的是键原创 2018-01-25 21:23:49 · 333 阅读 · 0 评论 -
java 异常处理
一 异常处理1.Throwable(异常最顶端的类) Error(服务器崩溃 数据库崩溃) Exception(异常类) RuntimeException(运行时异常) 下面是几种常见的异常 //NullPointerException 空指针异常 //ArrayIndexOutOfBoundsException 数组角原创 2018-01-26 21:11:00 · 217 阅读 · 0 评论 -
java中的多态与final关键字
Java多态1.多态规则(前提): 一种事物的多种形态 1.类与类之间 要产生联系 继承关系 2.要有方法重写(没有方法的重写 多态的意义不大) 3.核心: 父类引用(指针)指向子类空间(声明方式) 多态时 调用成员变量 和 调用成员方法 多态 调用成员变量时 Father f = new Son(); 简单记 编译和运行 都看等号 左边(父类引用) 当使用父类引用 指原创 2018-01-11 22:03:21 · 633 阅读 · 0 评论 -
java抽象类
java抽象类1.抽象类 abstract 关键字 修饰类 ------ 抽象类 修饰方法 ---- 抽象方法 没有抽象变量 抽象类(abstract class 类名) 1.成员变量 变量 和 常量 2.成员方法 可以是抽象方法 抽象方法不能写实现部分 可以有非抽象方法 3.构造方法: 有构造方法 4.如何创建对象 注意: 1.抽象类 不能实例化对象原创 2018-01-12 20:13:50 · 370 阅读 · 0 评论 -
java数组扩展练习及冒泡排序,选择排序和折半查找
一.java—数组扩展练习1.封装一个函数 传入数字1 返回 一 数字2 返回 二.... // 通过角标找元素 // 查表法 public static char findArray(int index) { //声明一个char数组 char[] array = new char[] {'一' ,'二','三','四','五'};原创 2018-01-04 20:12:12 · 378 阅读 · 0 评论 -
java 循环结构
java–循环结构(一) 1⃣️ while(判断条件){ 2⃣️ 循环体 } 如果判断条件成立 就执行循环体 反之 不成立 就不执行 执行顺序 1->2->1 (在去看条件是否成立) ->2->1(如果不成立 循环结束)(二) do...while 循环 1...原创 2017-12-29 17:52:57 · 254 阅读 · 1 评论 -
java集合与泛型
集合与泛型1.泛型:表示集合中 保存数据的类型//创建一个集合 保存 a b c d 字符串//后面的尖括号 要跟前面填的泛型 保持一致//如果前面声明了泛型 后面泛型可以省略不写 省略不写 表示类型一致ArrayListString> list = new ArrayList(); list.add("a"); list.add("b");原创 2018-01-22 19:51:17 · 338 阅读 · 0 评论 -
java---二维数组与多维数组
二维数组与多维数组1.二维数组:也是个容器 保存相同数据类型的 一维数组 书写公式 数据类型 [][] 数组名 = 初值; //描述下面定义的二维数组//该二维数组中有3个一维数组 每个一维数组中有4个元素 int[][] array = new int[3][4]; //定义方式二:可以把数组中的元素定义出来int[][] array = new int[][]原创 2018-01-05 19:40:49 · 494 阅读 · 0 评论 -
java接口详解
java中的接口1.接口的定义 狭义的定义: 关键词: interface 接口名{ } 广义的定义:规则 接口就相当于定义了一个规则 要想使用这个接口 就必须遵循这个规则2.使用接口应该注意: 1.接口中只能声明抽象方法(jdk1.8以前的规则) 2.如果你声明一个方法 没写 abstract 系统会默认帮你加上 3.接口没有构造方法 不能直接实例化对象 使用接口的关键字 impl原创 2018-01-15 20:20:28 · 337 阅读 · 0 评论 -
java系统类 -- String类详解
String类详解1.系统类 String(学习系统常用方法 方法的使用) 字符串是个常量 常量字符串 对字符串进行操作 都返回是一个新的字符串(原字符串不能更改) //字符串存在常量池中 //字符串本身没有发生变换 而是引用地址发生了变化 //相当于 指针重新指向 String str1 = "adcde"; str1 =原创 2018-01-16 22:09:17 · 293 阅读 · 0 评论 -
java单例与StringBuffer类详解
java单例与StringBuffer类详解java单例单实例--设计模式(思想) 核心:在整个程序执行期间 有且只有一个该类的对象存在 如何写: 1.不让外界 来创建对象 2.让这个对象 由我来创建(不能让外界访问) 3.需要对外开放访问这个对象的方法 //饿汉式 单例 class Single{ //创建单例对象 随着类的加载而创建这个对象 pr原创 2018-01-17 21:36:05 · 416 阅读 · 0 评论 -
java构造方法及static详解
java构造方法及static详解1.构造方法的主要作用是初始化成员变量 构造方法的特点是: 1.没有返回值, 2.名字与类名一样 构造方法注意事项: 1.如果你没写无参的构造方法 系统会给你提供一个无参的构造方法 2.如果我只写了有参的构造方法 这时 系统不再给你提供无参的构造方法 3.写类的时候建议 无参 有参 构造方法全写2.静态变量 和 静态方法(使用ststic原创 2018-01-09 21:58:41 · 1614 阅读 · 0 评论 -
java-List接口 ArrayList和LinkedList
List接口1.list常用方法public static void fun1() { List list = new ArrayList(); list.add('a'); list.add('b'); list.add('c'); list.add('d'); //使用list中的添加方法 a原创 2018-01-19 21:20:20 · 274 阅读 · 0 评论 -
java多线程
线程的六种状态1.线程的六种状态 1.新建状态(new 线程对象) 2.运行状态(调用start) 3.受阻塞状态(等待cpu的执行资源) 4.休眠状态(调用了sleep(休眠时间)方法) 5.等待状态(调用了wait()方法) 6.死亡状态(run()方法执行完毕)匿名内部类方式创建线程2.匿名内部类创建线程(三种方式)...原创 2018-02-06 20:38:25 · 246 阅读 · 0 评论 -
java 装饰者模式
装饰者模式(设计者模式)1.装饰者模式思想: 可以通过装饰 对原来的功能进行升级例如:BufferedOutputStream 传入的参数是 FileOutputStream相当于把FileOutputStream装饰了 装饰后 功能得到提升 写入效率提高装饰者模式流程:(1).把被装饰者写成成员变量(2).构造方法中 给该成员变量赋值(3).对原有功能升级装饰者模式原创 2018-02-02 21:56:09 · 275 阅读 · 0 评论 -
java 文件过滤器
文件过滤器1./* 文件过滤器是个接口,需要写一个实现类才能创建对象. 实现接口后就要重写里面accept方法,accept的返回值是布尔类型的.return false是在遍历的过程中过滤 掉,return true则刚好相反.*/例子:class MyFilterTXT implements FileFilter { @Override public bo原创 2018-01-30 22:30:30 · 1206 阅读 · 0 评论 -
java基础 break continue在循环中的作用及随机数与函数
java基础—break,continue在循环中的作用及随机数与函数一 break与continue在循环中的作用1.break在循环中主要是停止循环,死循环时,break可以当作出口;public static void main(String[] args) {// 打印[0, 100]中是7的倍数中的值最大那个数(两种)//使用break 可以倒着打印 进到循环中的第...原创 2018-01-02 19:40:25 · 402 阅读 · 0 评论