- 博客(113)
- 资源 (4)
- 收藏
- 关注

原创 【书单】
【1】 清英的博客 推荐了基本不错的书 建议买来读一读 http://ifeve.com/readbook/ 【2】 http://www.importnew.com/22108.html
2018-03-24 09:59:10
194

原创 数据库读写分离
close all clear,clc % 统计数据 实际值 arr = [32709 37165 44021 49125 54203 62380 70323 78375 86349 97345 108625 123653 137804 156728]’; [m,nn]=size(arr); alpha = 0.95; % 平滑常数的范围为[0,1] % 1次指数平滑 s...
2018-03-03 20:11:57
182
原创 学习笔记、学习笔记、学习笔记
concurrentHashMap 的 get 操作的时候会加锁吗。concurrentHashMap的扩容操作。Java线程的状态有哪些。
2024-08-22 18:42:31
147
原创 【无标题】
线程池 的作用不用太说了,线程池会按照一定的规则,创建和维护一定数量的线程。这些线程可以被循环利用,来处理用户提交的任务。对比不同线程池的使用方式,节省了频繁的创建和销毁线程带来的性能开销。
2024-05-13 23:14:10
175
原创 java线程池源码解析:ThreadPoolExecutor源码,execute方法、addWorker方法解析
线程池哪部需要维持的一个最小的数量的工作线程,工作线程数量不足这个数量的时候,新来的任务都会提交一个新的工作线程,任务不会放入 队列。工作线程数到达这个数量的时候,新来的的任务,都会放入这个队列中。线程池 的作用不用太说了,线程池会按照一定的规则,创建和维护一定数量的线程。shuntdown: 此时不可以接收新的任务,但是可以正常处理,但是不再接受新的任务,并且终端空闲的工作状态。任务列表和工作线程,都为空。线程池哪位维护了一个队列,用来存储待处理的任务,每个线程都可以从该队列获取任务进行处理。
2024-05-12 19:20:07
416
原创 【leetcode 93】合法ip的个数。
public List<String> restoreIpAddresses(String s) { List<String> list = new LinkedList<>(); dfs(s, s.length(), 0, 4, new StringBuilder(),list); return list; } /** * dfs 深度优先搜索 *..
2020-07-30 15:07:26
603
原创 【准备面试总结】
善于总结,才能走的更远。主要是在准备面试的过程中。对自己做一个总结。出现的问题【1】复习过的东西接着忘记,看了很多很明白。但是自己说不出来。【2】打算复习的时候。没有资料。【3】复习没有计划。【4】复习过程中。需要提高效率。针对以上问题需要作出改成。【1】对所刷的题目。必须做笔记。尤其是算法。每周复习一次【2】要有自己的刷题计划。展现不要拉的过长。对于发现的问题。不会的知识点要及时查找资料。总结。...
2020-07-30 12:39:53
231
原创 述职总结
今年年终,进行述职答辩,准备的还可以,效果不是很好,最重要的内容,没讲出来。总结如下:答辩:分享。20%总的时间长度的,20~40% 必须把最重要的内容讲出来。这个比例取取决,讲完了最重要的内容之后还剩多少内容。...
2019-12-26 15:58:15
641
原创 允许跨域。
@Overridepublic boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) { httpServletResponse.setHeader("Access-Control-Allow-Origin", httpServ...
2019-11-05 10:20:31
293
原创 【6】Java并发编程学习笔记之———安全性、活跃性以及性能问题
并发编程中我们需要注意的问题有很多,很庆幸前人已经帮我们总结过了,主要有三个方面,分别是:安全性问题、活跃性问题和性能问题。下面我就来一一介绍这些问题。安全性问题相信你一定听说过类似这样的描述:这个方法不是线程安全的,这个类不是线程安全的,等等。那什么是线程安全呢?其实本质上就是正确性,而正确性的含义就是程序按照我们期望的执行,不要让我们感到意外。在第一篇《可见性、原子性和有序性问题:并发编...
2019-08-19 08:41:03
244
原创 【5】用“等待-通知”机制优化循环等待
由上一篇文章你应该已经知道,在破坏占用且等待条件的时候,如果转出账本和转入账本不满足同时在文件架上这个条件,就用死循环的方式来循环等待,核心代码如下:**// 一次性申请转出账户和转入账户,直到成功while(!actr.apply(this, target)) ;**如果 apply() 操作耗时非常短,而且并发冲突量也不大时,这个方案还挺不错的,因为这种场景下,循环上几次或者几...
2019-08-04 21:43:23
369
原创 【03】Java并发编程学习笔记之——互斥锁(原子性问题解决方案)(下)
在上一篇文章中,我们提到受保护资源和锁之间合理的关联关系应该是 N:1 的关系,也就是说可以用一把锁来保护多个资源,但是不能用多把锁来保护一个资源,并且结合文中示例,我们也重点强调了“不能用多把锁来保护一个资源”这个问题。而至于如何保护多个资源,我们今天就来聊聊。1保护没有关联关系的多个资源 在现实世...
2019-07-14 18:52:24
217
原创 LetCode:239。滑动窗口。
1. 求一个字符串最大的子字符串。1.1 查找某个字符串的最大子字符串。子字符串:任意取出N个字符,即为字符串的字串(不一定是连续的)。1.2 比较规则两个字串比较,先从字符串第一个位置的字符,比较,哪个大,该字符串,大,如果相同,则比较下一个。直到比较出大小。如果一个字符串的长度用尽,仍未比较出大小,则长度长的字符串更大。举例如下:字符串: abecd“ed” 和“bcd”:...
2019-07-07 20:40:17
155
转载 【02】Java并发编程学习笔记之——互斥锁(原子性问题解决方案)(上)
在第一篇文章中我们提到,一个或者多个操作在 CPU 执行的过程中不被中断的特性,称为“原子性”。理解这个特性有助于你分析并发编程 Bug 出现的原因,例如利用它可以分析出 long 型变量在 32 位机器上读写可能出现的诡异 Bug,明明已经把变量成功写入内存,重新读出来却不是自己写入的。那原子性问题到底该如何解决呢?你已经知道,原子性问题的源头是线程切换,如果能够禁用线程切换那不就能解...
2019-07-01 08:50:34
386
原创 【Java基础笔记】
1 ArrayList和Vector的区别是什么?[1]ArrayList是线程不安全的,Vector是线程安全的;[2] 需要扩容的时候,ArrayList默认变为原来的1.5倍率,Vector变为原来的两倍。[3] 构造函数来说,Vector可以设置,每次扩容的增量,但是ArrayList不可以。2ArrayList和CopyOnWriteArrayList 的区别是什么?https...
2019-06-27 20:19:27
143
原创 [1]redis脚本Lua脚本
[1]解决redis中分布式锁,设置 过期的问题。 String key = "name"; String script = "local rs=redis.call('setnx',KEYS[1],ARGV[1]);if(rs<1) then return 'F';end;redis.call('expire',KEYS[1],tonumber(ARGV[2]...
2019-06-26 15:30:29
173
原创 【01】Java并发编程学习笔记之——(内存模型)
如何解决其中的可见性和有序性导致的问题,这也就引出来了今天的主 角——Java 内存模型。什么是 Java 内存模型?导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性、 有序性最直接的办法就是禁用缓存和编译优化,但是这样问题虽然解决了,我们程序的性 能可就堪忧了。合理的方案应该是按需禁用缓存以及编译优化。本质上可以理解为,Java 内存模型规范了 JVM 如何提供按需禁用缓...
2019-06-17 09:03:16
203
原创 【5】MySQL学习笔记之。count(*)速度过慢,怎么办?
在开发系统时,经常需要计算一个表的行数,这时候一条 select count(*) from t 语句不就解决了吗?但是,你会发现随着系统中记录数越来越多,这条语句执行得也会越来越慢。count(*) 的实现方式在不同的搜索引擎中,count()有不同的实现方式。MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count() 的时候会直接返回 这个数,效率很高。 InnoDB 引擎...
2019-05-26 21:15:21
1706
原创 【4】MySQL学习笔记之OrderBy的工作原理是什么?
在日常的开发 中,我们需要根据指定的字段来排序。假设定义一个表的语句如下:CREATE TABLE t (id int(11) NOT NULL,city varchar(16) NOT NULL,name varchar(16) NOT NULL,age int(11) NOT NULL,addr varchar(128) DEFAULT NULL,PRIMARY KEY (id...
2019-05-19 21:15:47
225
原创 【3】MySQL学习笔记之的MVCC是如何实现的(三)
3.1 什么是事务?提到事物,我们非常熟悉,在和数据库打交道的时候,我们总是会用到事务,最经典的例子,就是转账,你给朋友小王,转100块钱,此时你的银行卡,只有100块钱。简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全不失败。在Mysql中,事务的支持,是在引擎层面实现的。你现在知道,Mysql是一个支持多级引擎的系统,但并不是所有的引擎,都支持事务,如Mysql原生的MyISAM...
2019-05-04 18:37:15
312
原创 【2】Mysql学习笔记之索引(二)
索引是数据库系统里面最重要的概念之一:一句话简单来说,索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本500页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。索引的常见模型索引的出现是为了提高查询效率,但是实现索引的方式却有很多种。可以用于提高读写效率的数据结构很多,这里我先给你介绍三...
2019-04-22 08:40:50
270
原创 【1】Mysql学习笔记:Mysql的一条查询语句是如何执行的?
在这里,我们以select * from table where id = 10为例子,进行查询。Mysql基本架构示意图:客户端+ server层+存储引擎层:Server层:包括连接器、查询缓存、分析器、优化器、执行器等,涵盖Mysql的大多数核心服务功能,以及所有的内置函数(比如:日期、时间、数学和加密函数等),所有跨存储引擎的功能,都在这一层实现,比如存储过程、触发器、师徒等。...
2019-04-14 23:58:55
229
原创 Transizet关键字总结
文章总结:对象序列化的方式有两种:实现Serializable和Externalizable接口[1]实现Serializable接口的类,static修饰的变量,不可以被序列化,因为变量是存储在堆内存中的,因此序列化某个实例对象,并不会包含该静态变量。[2] 实现Serializable接口的类,transizet修饰的变量,不会被序列化。对于实现Externlizable接口的取值:...
2019-04-08 16:37:33
170
原创 【2】dubbo学习笔记(二)
第三章:高可用性质3.1 即便是zookeeper中心宕机,还可以消费dubbo暴露的服务。原因:[1]监控中心当掉不影响使用,只是丢失部分采用数据。[2]数据库当代哦吼,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务[3]注册中心对等集群,任意一台当掉后,将自动切换到另一台[4] 注册中心全部宕掉后,服务提供者服务消费者,仍能通过本地缓存通讯[5]服务提供者无状态,任意一台...
2019-04-08 08:30:55
218
原创 【2019-04-06】Java知识点总结
【1】JVM 类加载的过程1.1 JVM把class字节码文件,加载到内存,并对数据进行校验、解析和初始化。将class文件字节码内容,加载到内存中,将静态数据结构,转换成方法区中的运行时数据结构,在堆中生成一个java.lang.Class对象,作为方法区类数据的访问入口。这个过程,需要类加载器参与。1.2 加载,连接,和初始化【1】加载阶段,JVM需要完成三件事:[1]通过类的全...
2019-04-08 08:15:22
108
原创 【1】dubbo学习笔记(一)
1、分布式基础理论1.1、什么是分布式系统?《分布式系统原理与范型》定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”分布式系统(distributed system)是建立在网络之上的软件系统。1.2 架构演变历程如下图:1.2.1单应用当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据...
2019-04-01 00:50:50
480
原创 本人的OKR
2019年3月14日,过了本人的OKR,如下:Object1:【1】对自己所参与的项目,具备独当一面的能力。 体现在:能够独立的对需求评审、排期、开发、测试、上线;不留技术债务,如有特殊情况,最迟在下次迭代并且3个工作日内偿还技术债务;高效的交付需求。【2】项目中所涉及的部分技术。了解其底层以及运行原理。对项目中所涉及。...
2019-03-24 22:09:25
951
原创 工作中采坑集合
[1] 对接口,务必搞清楚,接口的出参和入参是什么。不能想当然,要把你实际的需求,一字不差的确认完毕,才可以。否则容易留坑人。[2]
2019-03-11 12:32:14
175
原创 resclient插件如何,上传文件?
1 我们测试接口,除了上传字段以外。有时候,还需要上传文件。上传文件如何用resclient插件,上传文件?首先。打开resclient.选择。form格式2 file的名字,要跟接口中,接受的参数一致。public Result upLoadSignUpPicture(@RequestParam(value = “file”, required = false) Multi...
2018-11-06 19:23:01
1955
原创 【2018.07.29】NIO的案例
//client端的代码package com.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;impo...
2018-07-29 19:08:31
167
原创 jdk1.6中,Hashmap的扩容,是不存在问题的!
以前在研究jdk源码的时候,就觉得hashmap的扩容,是没有问题的。后来一直忙于找工作,就没有实际的验证。 今天,有时间,去官网,下载了jdk。下载地址如下。...
2018-06-01 08:36:01
404
原创 【面试题】Java面试题
【1】i+1package 面试算法;import java.util.ArrayList;public class return返回值 { static Test b=new Test(333); public static void main(String[] args) { Integer i = Integer.MAX_VALUE; ...
2018-05-23 11:47:36
1945
原创 知识点
【1】 (1)hashmap。不是线程安全的。 (2)hashmap可以接受null为键和值。 (3)Object类的方法有哪些 (1)getClass():得到某个类的Class对象 (2)hashcode();Native方法。 (3)equals()方法:默认就是==来实现的 (4)clone();克隆一个对象,是浅克隆 (5)finalize();方法 (6)wait...
2018-04-21 09:45:11
138
原创 面试题整理和汇总
【1】ArrayList 和LinkedList (1)ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构 (2)对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 (3)对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 【2】B树 ...
2018-04-02 09:10:07
264
原创 JAVA面试题
【1】接口和抽象类的区别: (1) 接口可以多继承,抽象类只能单继承 (2) 抽象类的子类,可以不全部实现 【2】HTTP和HTTPS的主要区别 【3】 Cookie和Session的区别 【4】二叉树的分层遍历 前序中序和后序遍历 https://blog.youkuaiyun.com/apandi_/article/details/52916523 分层遍历 https://blog...
2018-04-01 14:56:47
192
原创 【RPC】面试题
【1】为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据. 【2】UDP和TCP关系 https://blog.youkuaiyun.com/xiaobangkuaipao/article/details/76793702 【3】 基本类型的变...
2018-03-30 23:30:41
3382
原创 【3】归并排序
// 合并的核心模块 private void merge(int[] array, int low, int mid, int hight) { if (low >= hight) { return; } int[] auxArray = new int[hight - low + 1]; i...
2018-03-29 23:25:06
156
原创 【3】排序算法,快排序。
package paixu;public class Java { public static void main(String[] args) { int [] test = {1,4,75,6,88,6}; quickSort(test); for(int i=0;i<test.length;i++){ ...
2018-03-29 18:18:54
144
原创 Java中有哪些锁,区别是什么
【1】公平所和非公平所。 公平锁:是指按照申请锁的顺序来获取锁, 非公平所:线程获取锁的顺序不一定按照申请锁的顺序来的。//默认是不公平锁,传入true为公平锁,否则为非公平锁ReentrantLock reentrantLock = new ReetrantLock();【2】共享锁和独享锁 独享锁:一次只能被一个线程所访问 共享锁:线程可以被多个线程所持有。 Read...
2018-03-29 18:18:06
8607
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人