自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (2)
  • 收藏
  • 关注

转载 连接池简介及手写简单连接池

连接池简介及手写简单连接池

2020-10-26 20:47:13 250

原创 N皇后和N皇后2

leetcode 51.N皇后回溯法:dfs:从第1行遍历到第n行。每一行中遍历所有可能放置的列,利用isUsable判断是否是可行的皇后位置:如果是当前位置放皇后,继续dfs,最后需要回溯,将当前位置的皇后去掉。当第n行遍历结束时,用track转换为题目的输出。isUsable:判断当前位置能否放置皇后,需要判断当前列和左上,右上即可。左下和右下,因为没有放置,判断没有意义。track:将二维int数组转换为题目的输出。class Solution { List<List<St

2020-10-18 09:06:49 323 1

转载 10张图带你深入理解Docker容器和镜像

10张图带你深入理解Docker容器和镜像

2020-10-14 20:45:11 240

转载 JAVA面试题:Spring中bean的生命周期

JAVA面试题:Spring中bean的生命周期

2020-10-10 16:28:06 486

原创 工厂模式

工厂模式实现了创建者和调用者的分离。OOP七大原则和工厂模式相关的:1、开闭原则:一个软件的实体应当扩展开发,对修改关闭2、依赖倒转原则:要针对接口编程,不要针对实现编程3、迪米特法则:只与你直接的朋友通信,避免和陌生人通信核心本质:1、实例化对象不使用new,用工厂方法代替2、选择实现类,创建对象统一管理和控制,从而将调用者跟我们的实现类解耦。简单工程模式用来生产同一等级中的任意产品(对于增加的新产品,需要扩展已有代码)package factory.simple;//静态工厂类

2020-10-06 18:59:01 113

转载 n&(n-1)位运算的妙用

n&(n-1)作用:将n的二进制表示中的最低位为1的改为0例子:n = 10100(二进制),则(n-1) = 10011 ==》n&(n-1) = 10000可以看到原本最低位为1的那位变为0。应用:求某一个数的二进制表示中1的个数while (n >0 ) {count ++;n &= (n-1);}判断一个数是否是2的方幂n > 0 && ((n & (n - 1)) == 0 )计算N!的质因数2的个数。

2020-10-06 09:34:01 235

原创 传入多个参数时候invoke方法的使用

在学习jdk的动态代理时,invoke方法里面需要传入多个参数。动态代理也是传入Object[] args,参数数组。如果是多个参数不能直接传入多个参数,需要创建参数数组狂神说Spring06:静态/动态代理模式反射之invoke方法一个例子弄懂invoke方法...

2020-10-03 10:58:38 8944 1

原创 牛客网sql语句学习一

SQL1查找最晚入职员工的所有信息select * from employees where hire_date=(select max(hire_date) from employees);首先需要从employees表中查询到最晚入职的属性,然后再查询该属性下员工的全部信息SQL72考试分数一请你写一个sql语句查询各个岗位分数的平均数,并且按照分数降序排序,结果保留小数点后面3位(3位之后四舍五入):select job,round(avg(score),3) avg from gr

2020-09-28 15:20:37 510

转载 离线方式在Ubuntu 18.04 上安装Docker

转载:离线方式在Ubuntu 18.04 上安装Docker

2020-08-19 10:30:51 963

转载 Linux 下安装docker,可下载安装包然后进行安装

转载:Linux 下安装docker,可下载安装包然后进行安装Docker在线、离线安装及其常用命令

2020-08-18 15:32:26 276

转载 Docker镜像保存为文件及从文件导入镜像

转载:Docker镜像保存为文件及从文件导入镜像

2020-08-18 15:19:53 144

转载 简单三步实现window10与Ubuntu之间的文件传输

转载:简单三步实现window10与Ubuntu之间的文件传输

2020-08-18 15:18:31 501

原创 单例模式的实现(饿汉,双重校验锁,嵌套类,枚举)

学习链接:想真正了解JAVA设计模式看着一篇就够了。 详解+代码实例 设计模式涉及创建型模式、结构型模式和行为型模式。面试之中最常考创建型模式中的单例模式和工厂模式(因为这两个最简单。。。)。总结一下单例模式,之后总结工厂模式。饿汉模式(不推荐)public class Singleton { // 首先,将 new Singleton() 堵死 private Singleton() {}; // 创建私有静态实例,意味着这个类第一次使用的时候就会进行创建 priva

2020-08-09 17:34:50 452

原创 二分查找闭区间(l<=r)类总结

最近做题遇到二分查找,对于区间的取值以及最后的结果模棱两可。对于(l<=r)这种闭区间的。取值的范围是[left,right],一定要保证每次循环结束后left+1或者right-1,结束的状态left>right,left在右边,right在左边,目标值下标确定是left。278. 第一个错误的版本本题相当于一个数组,左边都是false,某一个位置开始都是true。需要找到第一个出现的true。使用闭区间计算,最后的时候left>right,所以left就是第一个出现的true,r

2020-08-06 10:56:44 1624

原创 打家劫舍类

198. 打家劫舍dp[i]数组的含义是偷前i-1个房子,不包括i-1。所以需要n+1个,表示偷前n个房子所以递归方程为dp[i]=math.max(dp[i-1],dp[i-2]+nums[i-1])对于第i-1个,有两种可能,不偷第i-1个,就是dp[i-1]。偷i-1,那么i-2就不能偷,所以是dp[i-2]+nums[i-1]class Solution { public int rob(int[] nums) { int n=nums.length;

2020-08-05 09:45:28 114

原创 java两个线程交替打印0~100

1、(不推荐)单单使用synchronized锁代码块,会出现同一个线程一直抢到锁,而另一个线程一直没有拿到,就会导致线程做很多无谓的空转。 private int count = 0; private final Object lock = new Object(); public void turning() { Thread even = new Thread(() -> { while (count < 100) { sync

2020-08-04 16:00:54 566 2

原创 leetcode课程表(图论邻接表)

207课程表入度(indegree):就是有向图中指向这个点的边的数量,即有向图的某个顶点作为终点的次数和出度(outdegree):就是从这个点出去的边的数量,即有向图的某个顶点作为起点的次数和算法:1、首先生成入度表flag,因为(u,v)的u表示终点,prerequisites[0]是u,需要找到入度为0的那个顶点,将这个flag推入队列queue。2、当queue非空的时候,不断转这个队列弹出元素cur作为当前的顶点,课程numCourses–,开始在prerequisites中找这个顶点

2020-08-04 15:44:39 370 1

原创 leetcode零钱兑换类题目

零钱兑换是典型的dp,一共有两种题型,第一种是求固定金额需要的最少硬币数,如:322. 零钱兑换。第二种是求固定金额,硬币所有可能的组合数。如518. 零钱兑换 II和面试题 08.11. 硬币322. 零钱兑换解法一:备忘录从后往前计算dpclass Solution { private int coinChange(int []coins,int amount,int []res)//res状态方程数组,存放当前需要多少个硬币 { if(amount<0)//如果

2020-08-03 16:00:19 266

原创 双向队列Deque和单向队列Queue

做题时候反复需要使用队列,栈等数据结构,开个帖子记录一下如何使用。Stack官方已经建议淘汰不用,使用Deque来实现栈。从图中可以很明显看到,collection集合类有三个继承者,Set,List,Queue。而Deque和PriorityQueue(堆,优先队列)是继承自Queue。Deque是双端队列,而LinkedList是双端链表,所以Deque在频繁进行增删的时候,可以使用LinkedList来实现接口。DequeArrayDeque与LinkList区别:ArrayDeque:

2020-08-02 16:38:33 1707 1

原创 解决Ubuntu16.04LTS下docker无法和宿主机实现udp和tcp通信问题

首先将ubuntu的网络设置成桥接网卡。然后配置网卡和你的电脑路由器分配的局域网在一个子网内。其次docker的ip和端口是没法访问的,所以需要将ip和端口映射到ubuntu下。使用-p命令来实现。最后就可以通过ubuntu的ip和端口来访问docker,如果上述步骤出现问题,关闭宿主机和ubuntu以及docker的防火墙。...

2020-08-01 17:49:22 1137

原创 滑动窗口的最大值

题目描述给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6 7 31 3 [-1 -3 5] 3 6 7 51 3 -1 [-3 5 3

2020-08-01 17:24:51 151

原创 leetcode155. 最小栈和面试题59 - II. 队列的最大值

155. 最小栈设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push...

2020-03-08 13:42:15 265

原创 文件读写冲突进程锁FileLock和线程锁ReentrantReadWriteLock

进程文件锁FileLockFileLock是是进程级别的锁,可以保证不同的进程来对文件读写互斥,进程一般也就是指一个main函数对应一个jvm。在windows下,进程锁存在,但是在linux下,进程锁不存在,也就是说不同进程可以同时读写一个文件。读文件://读文件函数package testjzx;import java.io.*;import java.nio.channels.F...

2020-03-06 17:27:40 626

原创 leetcode148链表排序

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2020-02-08 09:47:50 139

AndroidCode.zip

基于Android5.1的实物找领app,使用java开发,mysql数据库,实现上传失物信息(包含照片,地理位置等)和可以使用地图导航进行失物寻找的功能。

2020-08-01

java版LeetCode.docx

文档包括从2020年3月到7月的每日一练以及之前做过的部分题目。一共220道,包括80简单题目,110中等题目,33困难题目。带注释和详解。适合准备互联网后台开发面试。祝愿大家拿到心仪的offer

2020-08-01

空空如也

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

TA关注的人

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