自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

转载 MyBatis源码解析(一)——执行流程

https://www.cnblogs.com/V1haoge/p/6603926.html

2019-03-26 00:15:39 205 1

转载 Java设计模式系列-工厂方法模式

https://www.cnblogs.com/V1haoge/p/10491982.html

2019-03-26 00:11:49 141

原创 八种排序

Java 的八种排序方法1 冒泡排序2 直接插入排序3 选择排序4 希尔排序5 快速排序6 归并排序7 堆排序8 基数排序1 冒泡排序基本思想:对比相邻的元素值,如果满足条件就交换元素值。把较小的元素放在前面,把较大的元素放在后面时间复杂度:最好:O(n)平均:O(n^2) 最坏: O(n^2)稳定性: 稳定代码package kill;import java.u...

2019-03-25 23:41:10 144

原创 排序

Java 的八种排序方法1 冒泡排序2 直接插入排序3 选择排序4 希尔排序5 快速排序6 归并排序7 堆排序8 基数排序1 冒泡排序基本思想:对比相邻的元素值,如果满足条件就交换元素值。把较小的元素放在前面,把较大的元素放在后面时间复杂度:最好:O(n)平均:O(n^2) 最坏: O(n^2)稳定性: 稳定代码package kill;import java.ut...

2019-03-25 23:38:13 132

转载 java静态代理与动态代理简单分析

https://www.cnblogs.com/V1haoge/p/5860749.htmlhttp://www.cnblogs.com/V1haoge/p/5860749.html

2019-03-25 23:33:34 88

转载 mybatis二级缓存

按照惯例,先来一张形象一点的图:       二级缓存区域是根据mapper的namespace划分的,相同namespace的mapper查询数据放在同一个区域,如果使用mapper代理方法每个mapper的namespace都不同,此时可以理解为二级缓存区域是根据mapper划分,也就是根据命名空间来划分的,如果两个mapper文件的命名空间一样,那样,他们就可以共享一个mapper缓...

2019-02-27 11:52:45 162

转载 Mybatis的一级缓存。

Mybatis的一级缓存。 首先我们要知道什么是查询缓存?查询缓存又有什么作用?功能:mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。        用图来表示如下图:粗略的解释一下就是:                 一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)...

2019-02-27 11:49:56 149

转载 浅谈hashcode与equals的关系

hashcode方法浅析之前对hashCode方法的作用一直是模糊状态,今天深入学习了一下。      首先,想要明白hashCode的作用,你必须要先知道Java中的集合。  总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了...

2018-11-30 11:13:24 239 1

转载 NIO实现网络通讯

首先创建NIOSocket的服务端;其次创建NIOSocket的客户端。通信过程如下:客户端(C)向服务端(S)发送任意数据(包括用户直接从控制台输入数据,使用Scanner),服务端接受到来自客户端的数据并展示,同时客户端发过来的数据原封不动的再发给客户端;客户端接受来自服务端的数据并展示。说明:通信过程如上。下面看代码如何实现:服务端:package socket;impor...

2018-10-26 19:26:21 279

转载 NIO

Java NIO是在jdk1.4开始使用的,它既可以说成“新IO”,也可以说成非阻塞式I/O。下面是java NIO的工作原理: 由一个专门的线程来处理所有的IO事件,并负责分发。 事件驱动机制:事件到的时候触发,而不是同步的去监视事件。 线程通讯:线程之间通过wait,notify等方式通讯。保证每次上下文切换都是有意义的。减少无谓的线程切换。 阅读过一些资料之后,...

2018-10-26 19:17:32 91

转载 NIO单线程

Java NIO提供了一套网络api,可以用来处理连接数很多的情况。他的基本思想就是用一个线程来处理多个channel。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

2018-10-26 00:21:20 559

原创 多线程复制一个文件修订版

package teacher;/** * 描述:多线程复制文件* * @author ASUS * @date 2018年9月26日*/import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;...

2018-09-26 10:54:39 119

原创 多线程复制一个文件

package teacher;/** * 描述:多线程复制文件* * @author ASUS * @date 2018年9月22日*/import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;...

2018-09-24 13:15:52 369

转载 ThreadPoolExecutor

构造方法:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,...

2018-08-19 11:48:31 443

原创 线程状态转移图

线程间的状态转换:  1. 新建(new):新创建了一个线程对象。2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。3. 运行(running):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序代码。...

2018-08-08 13:19:27 1291

原创 比较器

什么是迭代器???提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。迭代器Iteartor接口中,有以下3个方法:1.hasNext() 该方法判断集合对象是否还有下一个元素,如果已经是最后一个元素则返回false2.next() 把迭代器的指向移到下一个位置,同时,该方法返回下一个元素的引用3.remove() 从迭代器指向的Collection中移除迭代器返...

2018-08-04 19:24:11 330

原创 往文件里添加一个字符串

package com.tulun;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.RandomAccessFile;/** * 描述:往文件里添加一个字符串* * @a...

2018-08-04 11:43:09 471

原创 有两个有序的集合,集合的每个元素都是一段范围,求其交集,

package com.tulun;import java.util.ArrayList;import java.util.Iterator;import java.util.List;/** * 描述:有两个有序的集合,集合的每个元素都是一段范围,求其交集,* 例如交集{[4,8],[9,13]}和{[6,12]}的交集是{[6,8],[9,12]} * * 两个有序的集...

2018-08-04 11:41:17 1872

原创 一个文本文件记录了1000条数据[数据内容需自己初始化产生]。数据内容为部分用户的银行卡消费记录,消费记录信息包含([姓名] [消费金额]),找出消费次数最多的用户,并且该用户单笔消费最高的金额是多少

package com.tulun;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.util.ArrayList;import java.util.HashMap;import java.util.It...

2018-08-04 11:18:07 2221

原创 生产者消费者项目

package studybymyself;import java.util.LinkedList;/** * 描述:生产者生产5个苹果,停止生产,并告诉消费者。* 让消费者消费完5个苹果后,停止消费,并告诉生产者。* 生产者继续生产5个苹果~~~~~循环4轮* * 苹果、篮子、生产者、消费者对象 那么需要写4个类* @author ASUS * @date ...

2018-08-01 19:00:11 298

原创 向文件里面的内容(也是一个字符串)任意位置添加一个字符串

public static void randomFiile(int pos, String content) { try { String fileName = "C:/Users/ASUS/Desktop/"; File file = new File(fileName); File temp = Fil...

2018-07-30 14:01:32 537

原创 用ArrayList实现栈

public class ArrayListDemo{ /** * @param args */ //用这三种方法实现一个栈 private static ArrayList<Object> list=new ArrayList<Object>(); //判断占是否为空 public static boolean isStackEmpty...

2018-07-29 22:10:39 2155

原创 10万个随机数据中选出重复次数最多的10组

package queue;import java.util.ArrayList;import java.util.Comparator;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.PriorityQueue;import java.util.Ra...

2018-07-29 22:06:26 1095

原创 把100000个随机数存进指定文件中,并读取出这100000个数中重复次数最多的10个数

package tulun_study;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;impo...

2018-07-29 22:03:36 1192

原创 文件IO流的操作

package tulun_study;import java.io.File;/** * 描述:TODO* * @author ASUS * @date 2018年7月23日*/public class FileGY { public static void fileList(String fileName) { File file = ne...

2018-07-29 21:59:45 434

原创 男女匹配

package com.tulun;/** * 描述:TODO* * @author ASUS * @date 2018年7月21日*/public class Person { private int id; private int apperance; private int character; private int wealth; ...

2018-07-23 00:50:31 1224

原创 匹配

package com.tulun;/** * 描述:TODO* * @author ASUS * @date 2018年7月21日*/public class Person { private int id; private int apperance; private int character; private int wealth; ...

2018-07-22 23:06:57 183

原创 最小

import java.util.ArrayList;import java.util.Comparator;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.PriorityQueue;import java.util.Random;/** * 十万个...

2018-07-10 17:14:18 99

原创 大根堆

public class BigHeap { //默认初始化长度 private static final int DEFAULT_INIYIAL_CAPACITY = 10; //堆使用的长度 private int currentSize; //堆最大长度 private int capacity; private int [] qu...

2018-07-09 00:23:50 519

原创 小根堆

public class MinHeap { //默认初始化长度 private static final int DEFAULT_INIYIAL_CAPACITY = 10; //堆使用的长度 private int currentSize; //堆最大长度 private int capacity; private int [] qu...

2018-07-09 00:22:00 2055

原创 常用的map实现类

LinkedHashMap它就相当于数据是有序的继承于hashmap  hashmap有的方法他都有特有的属性   顺序有关的属性 accessOrder true按照访问的顺序排序 false按照插入的顺序排序默认排序方法 false 按照插入顺序排序header 类型是entry 该entry继承与hashmap的entry,并有entry属性的两个属性 after和before。。TreeM...

2018-07-06 14:58:03 423

原创 迭代器遍历map集合

            //通过键值对来遍历 Iterator<Map.Entry<String,String>> iterator = map.entrySet().iterator();//返回所有的entry实体 while (iterator.hasNext()) { Map.Entry<String, S...

2018-07-04 12:29:16 14272

原创 Hashmap和HashTable的区别

一、HashMap简介      HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。      HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。      HashMap 实现了Serializable接口,因此它支...

2018-07-04 12:21:38 117

原创 puzzle练习

package collection.list;import java.util.LinkedList;/** * 描述:初始正方形中的带圆圈的数字是可以移动到沿着行的其他正方形的标记。* 在拼图的每个步骤,可以移动标记的正方形中由当前占据的整数指示的方格数。* 标记可以沿着该行向左或向右移动,但可以不移动经过任一端。* 例如,唯一合法的第一步是将标记向右移动三个方格,因为...

2018-06-20 10:04:11 301

原创 八皇后问题

package datasystem;/** * 描述:在一个8*8的棋盘上放置8个皇后,不允许任何两个皇后在棋盘的同一行、同一列和同一对角线上。* * 对8 x 8的二维数组上的某点a[i][j](0<=i,j<=7)* 如果a[s][q]满足|s-i|=|q-j|,a[s][q]在a[i][j]的对角线上。* 如果s=i,则a[s][q]在a[i][j]的同一列上...

2018-06-17 16:10:49 148

原创 老鼠走迷宫

package datasystem;/** * 描述:老鼠走迷宫 MAZE[i][j]=1 此处有墙 无法通过 MAZE[i][j]=0 此处无墙,可通过* MAZE[1][1] 入口,MAZE[ExitX][ExitY] 出口。MAZE[i][j]=2 表示已经走过的路径* * @author ASUS * @date 2018年6月1...

2018-06-17 16:08:24 133

转载 LinkedList源码分析

LinkedList是一个实现了List接口和Deque接口的双端链表。 有关索引的操作可能从链表头开始遍历到链表尾部,也可能从尾部遍历到链表头部,这取决于看索引更靠近哪一端。 LinkedList不是线程安全的,如果想使LinkedList变成线程安全的,可以使用如下方式:List list=Collections.synchronizedList(new LinkedList(...));1i...

2018-06-15 13:01:05 105

原创 LinkedList源码

2018-06-15 12:58:30 79

原创 ArrayList方法

2018-06-15 12:40:22 194

原创 ArrayList源码

2018-06-15 12:33:21 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除