自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

NeverTh

ON THE WAY TO

  • 博客(26)
  • 收藏
  • 关注

原创 分布式事务和分布式hash

分布式事务是什么?分布式事务就是保证各个微服务之间数据一致,本质上就是保证不同数据库的数据一致性。一致性状态包含强一致性,任何时刻,所有节点中数据都是一样的弱一致性,数据更新后,只能访问到部分节点数据或者是全部访问不到最终一致性,不保证任何时刻一样,但随着时间推移最终会达到一致性状态因此,存在如下几种方案:2PC ,二阶段提交是一种尽量强一致性设计,引入一个事务协调者来协调和管理各参与者的提交和回滚,包含准备和提交两个阶段,阶段之间同步阻塞,准备阶段协调者有超时机制。大致流程:准备阶

2020-09-05 15:27:48 163

原创 从ReentrantLock详解AQS原理源码解析

// java.util.concurrent.locks.AbstractQueuedSynchronizer#addWaiter// 在队列尾部创建一个结点,值为当前线程和传入的模式private Node addWaiter(Node mode) { Node node = new Node(Thread.currentThread(), mode); // Try the fast path of enq; backup to full enq on failure //

2020-08-18 11:59:10 184

原创 Java线程池ThreadPoolExecutor面试总结思维导图速记

优点降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度,当任务到达时,可以不需要等待线程创建就能立即执行。提高线程的可管理性类关系接 Executor 一个无返回值的execute方法接 ExecutorService 返回值为Future类型的submit方法类 AbstractExecutorService类 ThreadPoolExecutor创建ThreadPoolExecutor类包含参数corePoolSize: 核心线程数最大值

2020-07-27 23:43:29 274

原创 JVM原理速记复习Java虚拟机总结思维导图面试必备

良心制作,JVM原理速记复习Java虚拟机总结思维导图面试必备。一、运行时数据区域线程私有程序计数器记录正在执行的虚拟机字节码指令的地址(如果正在执行的是Native方法则为空),是唯一一个没有规定OOM(OutOfMemoryError)的区域。Java虚拟机栈每个Java方法在执行的同时会创建一个栈桢用于存储局部变量表、操作数栈、动态链接、方法出口等信息。从方法调用直到执行完成的过程,对应着一个栈桢在Java虚拟机栈中入栈和出栈的过程。(局部变量包含基本数据类型、对象引用referenc

2019-11-16 22:25:47 247

原创 Java Vector底层实现原理源码详细分析Jdk8

与ArrayList比较Vector是同步的,因此开销就比ArrayList大,访问速度更慢。最好使用ArrayList而不是Vector,因为同步操作完全可以有程序员自己来控制。Vector每次扩容请求其大小的2倍(也可以通过构造函数设置增长的容量),而ArrayList是1.5倍代替方案可以使用Collections.synchronizedList();得到一个线程安全的ArrayList。或者使用CopyOnWriteArrayList

2019-11-03 14:52:51 667 2

原创 Java ArrayList底层实现原理源码详细分析Jdk8

ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAcc

2019-11-02 21:27:28 226

原创 Java HashMap底层实现原理源码分析Jdk8

在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。

2019-10-30 21:19:49 182

原创 Java设计模式_七大原则

单一职责原则。对类来说,即一个类应该只负责一项职责。开闭原则。对扩展开放,对修改关闭。在程序需要进行扩展的时候,不能去修改原有代码,使用接口和抽象类实现一个热插拔的效果。里氏替换原则。任何基类可以出现的地方,子类一定可以出现。实现抽象的规范,实现子父类相互替换。

2019-10-29 11:16:05 200

原创 VS Code断点调试PHP超详细萌新教程

AppServAppServ下载下载安装一路默认设置sql密码即可。测试安装测试

2019-09-07 15:54:16 1487 1

原创 Redis5源码解析-Sentinel

Sentinel主函数(sentinelTimer)由server.c中的serverCron()函数调用,serverCron()由server.c中initServer()调用,initServer()由整个Redis主函数调用,在server.c文件最后面。由于sentinel的各项功能大部分都在sentinelHandleDictOfRedisInstances(sentinel.masters);中实现,我们主要分析这个函数。sentinelHandleDictOfRedisInstances

2019-07-11 14:55:30 397

原创 Java Web服装购物车案例(servlet+bean+jsp)

事情来得太突然,一个朋友说是要我帮忙做一个JavaWeb的课程设计,在过一天就要去答辩了…这我哪受的了时间这么短还没有~~~,正准备委婉的拒绝的时候他说写完之后给我那个啥…好吧,我就是这么庸俗那好吧,泡杯雀巢(特浓)开工。

2019-06-19 13:26:13 1481

翻译 CET4

Neon (霓虹) is to Hong Kong as red phone booths are to London and fog is to San Francisco. When night falls, red and blue and other colors cast a hazy (雾蒙蒙的) glow over a city lit up by tens of thousands...

2019-05-28 21:54:16 9915

原创 JAVA基础知识注意事项

JAVA核心技术卷一 (第十版)只有方法名和参数类型叫做方法的签名, 不同的返回类型值不能作为方法的签名。(4.6.1)这是域与局部变量的主要不同点。 必须明确地初始化方法中的局部变量。 但是,如果没有初始化类中的域, 将会被自动初始化为默认值(0、 false 或 null )。(4.6.2)初始化块或静态的初始化块在创建对象的时候执行里面的代码。(4.6.7)从编译器的角度来看, ...

2019-05-09 15:30:16 104

原创 Computer English Notes

**Chapter 1 : About Computer**1.1 What is Computer : An Electronic Device for Storing and Processing Data in a binary form ( 0 , 1 ) according to the instruction given, You can use a computer to ty...

2019-04-22 22:00:16 1810

原创 一个漂亮的js表单验证页面+验证码

一个漂亮的js表单验证页面见图知其意,主要特性带密码安全系数的判断其他的就没有啥啦嘿嘿嘿当然,其代码也在GIthub上我也准备了一套可以直接Ctrl + v; Ctrl + c 运行的代码<!doctype html><html lang="en"><head> <meta charset="UTF-8"> ...

2019-04-19 18:19:15 3415

原创 php+js实现一个简单的用户管理系统

php实现一个简单的用户管理系统说实话,我对PHP是抵触的,但是我们的WEB课程刚好学的就是这个,不得已看了看,下面是用PHP实现的一个简单的用户管理系统。我们首先来看一下目录结构assets (页面静态文件夹)css (下面这些就不用解释了把)jsimgsphpcontroller (控制类,包含大部分的逻辑部分代码)LogOff.php (超级用户注销)sud...

2019-04-19 17:46:42 3316

原创 对于Serializable的理解

对于Serializable的理解Last Edited: Apr 04, 2019 2:53 PMTags: java开始序列化:把Java对象转换为字节序列的过程。反序列化:把字节序列恢复为Java对象的过程。序列化的解释在Java中,我们可以通过多种方式来创建对象,并且只要对象没有被回收我们都可以复用该对象,但是,我们创建出来的这些**Java对象都是存在于JVM的堆内...

2019-04-04 14:56:25 136

原创 C++学生成绩管理系统

C++学生成绩管理系统这个我们程序设计课要求写的一个项目,埋头写了一个星期,最后的结果还是令我满意的。这个项目总共包含5个头文件和5个源文件。这个项目参考的是C++程序实际教程第十章——物流货仓管理系统。这个项目的源文件并未添加太多注释,主要是因为语言表达能力不行(都是借口,主要是太懒)。程序是在VS2017的环境下编写。首先是头文件control.hmanage...

2018-06-27 22:32:04 3151 3

原创 蓝桥杯算法训练 最大最小公倍数

算法训练 最大最小公倍数问题: 问题描述 已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。 输入格式 输入一个正整数N。 输出格式 输出一个整数,表示你找到的最小公倍数。 样例输入 9 样例输出 ...

2018-05-27 14:51:57 445

原创 蓝桥杯基础练习 完美的代价

基础练习 完美的代价 问题描述   回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。   交换的定义是:交换两个相邻的字符   例如mamad   第一次交换 ad : mamda   第二次交换 m...

2018-05-21 15:23:58 422 2

原创 蓝桥杯基础练习 Huffuman树

基础练习 Huffuman树 问题描述   Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。   给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下:   1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}...

2018-05-13 22:17:37 220

原创 蓝桥杯基础练习 高精度加法

基础练习 高精度加法 问题描述   输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。 算法描述   由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。   定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。   计算c = a + b的...

2018-05-13 22:16:48 227

原创 int和string的相互装换 (c++)

int和string的相互装换 (c++)int转换为string第一种方法 to_string函数,这是c++11新增的函数string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);...

2018-05-06 17:09:38 225

原创 蓝桥杯基础练习 十六进制转八进制

16转8进制这是蓝桥杯基础练习 十六进制转八进制 问题描述:   给定n个十六进制正整数,输出它们对应的八进制数。    输入格式:   输入的第一行为一个正整数n (1&amp;lt;=n&amp;lt;=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。    输...

2018-05-06 15:43:46 346

原创 markdown笔记

这是一级标题这是二级标题这是三级标题代码如下# 这是一级标题 {#index}## 这是二级标题### 这是三级标题以此类推,总共六级标题,建议在井号后加一个空格,这是最标准的 Markdown 语法,在上文中有一个{#index},不用理会,在后文中会进行说明你有没有发现上面这个地方隐约的有一条直线,其实这就是一条分割线,可以在一行中用三个以上的星号...

2018-05-03 13:15:37 436

原创 CSDN开始的第一篇

开始

2018-04-28 13:24:25 102

空空如也

空空如也

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

TA关注的人

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