- 博客(28)
- 收藏
- 关注
原创 MySQL中explain的使用
输出的参数列名说明id标识select所在的行。如果没有子查询,每行都将显示1,否则,内层的select语句一般会顺序编号,对应原始语句中的位置select_type显示本行是简单或复杂selecttable访问引用哪个表partitions匹配的分区信息type访问类型。ALL、index、range、ref、eq_ref、const/sy...
2020-04-09 16:56:45
134
原创 Mac配置Nginx反向代理
安装brew install nginx启动nginx检验是否安装成功localhost:8080浏览器输入,如果出现Welcome to Nginx则表示启动成功修改配置文件vim /usr/local/etc/nginx/nginx.conf server { listen 9000; #监听9000端口 ...
2019-12-14 10:32:01
418
原创 生成SSH公钥
ssh-keygen -t rsa -C "your_email@example.com"cd ~/.sshcat id_rsa.pub
2019-12-06 10:11:12
124
原创 Spring Cloud:在线更新配置信息
如果要更新某一个应用的配置,使用指令curl -X POST http://localhost:9001/refesh对于一个应用来说,用过在线更新管理,并不是所有的配置信息都能生效,有些配置,比如有关连接数据源的配置,在应用启动时候就已经建立了数据库的连接,而在线更新配置并不更改这种配置如果要使程序能够获取更新的配置信息,需要加 @RefreshScope...
2019-11-27 21:40:58
166
原创 《Java并发编程的艺术》笔记
文章目录技术点并发的挑战并发底层实现原理Java内存模型技术点并发的挑战减少上下文切换、解决死锁并发底层实现原理volatie可见性、synchronized锁的四种状态、原子操作的实现原理Java内存模型线程之间的通信和同步、顺序一致性、volatile内存语义、CAS实现原理、ReetrantLock源码、concurrent包实现原理、JMM设计原理、happens-befo...
2019-09-04 01:24:31
249
原创 初探Java虚拟机原理
目录JVM结构运行时数据区域JVM结构Java这门语言的理想是是“一次编写,到处运行”,而Java虚拟机是实现这个理想不可或缺的一环。运行时数据区域Java虚拟机整体结构可以大致分为三部分:类装载子系统、内存模型、执行引擎,本文重点是内存模型,也是JVM核心部分由上图可见,运行时数据区域分为五大块,其中方法区和堆是线程共享的,虚拟机栈、程序计数器和本地方法栈是线程私有的。线...
2019-08-18 18:48:14
142
原创 HashMap源码分析
前言本文阐述了以下关于HashMap的知识点整体结构put 简化逻辑,数组下标哈希计算JDK 1.7 与 JDK 1.8的对比HashMap的扩容机制HashMap是线程非安全的其它扩展HashMap的数据结构HashMap的底层是拉链法,即用数组+链表相结合的数据结构,JDK 1.8后引入了 红黑树而每一个键值对其实都是一个节点,这种节点是一个 Entry 对象 cl...
2019-08-18 11:44:33
199
原创 MySQL索引底层原理
前言MySQL的索引底层数据结构采用的是 B+树,一个索引对应一个B+树特点一个节点里可以存储多个元素,减少树的深度非叶子节点所有元素都会在叶子节点冗余一份叶子节点从左到右是升序的叶子节点有指向相邻叶子节点的指针,方便顺序遍历数据图例MySQL数据存储当我们往表里加入数据的时候,MySQL是将表存储在文件里的当我们读取表中数据的时候,MySQL需要从磁盘中将数据读取出来,...
2019-08-16 22:26:25
189
原创 单例模式
目的保证一个类只有一个实例使用场景线程池、缓存、对话框、注册表、日志对象这些如果有多个实例会造成资源使用过量或者不一致性两种构建方式懒汉模式:第一次使用时构建饿汉模式:在类装载时构建必要条件一个private访问级别的构造函数成员变量和方法必须是static实现代码懒汉式·双重检查加锁版本public class Singleton { //vola...
2019-08-06 11:06:20
101
原创 SpringBoot连接MySQL出现The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized错误
控制台报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone解决方法:在application.properties中spring.datasource.url=jdbc:mysql://localhost:3306/test换成s...
2019-03-14 14:00:35
674
原创 Struts配置国际化时浏览器已设置英文但页面未使用英文的属性资源问题解决方法
在学习strus国际化的时候,由于浏览器本身一直是中文,故一开始测试时中文的属性资源时使用正常,但当我将浏览器设置成英文时,却发现未能正确使用英文的属性资源我的项目目录如下排除资源文件错误。理由:中文的属性资源能用,理应英文的属性资源也能用那就只能是浏览器配置问题了。按下 F12,打开开发者工具,选择 Network,按下 F5,查看你需要的请求流我这边是点击 loca...
2018-12-28 23:38:25
525
原创 IDEA中用struts.xml配置项目欢迎页面(导航页面)
一个项目的欢迎页面往往是在web.xml中用标签<welcome-file-list>设置<welcome-file-list> <welcome-file>/index.jsp</welcome-file></welcome-file-list>但在Struts 2 中通常建议在struts.xml中配置欢迎页,使用...
2018-12-21 16:55:46
821
原创 IDEA搭建Struts 2框架
前言:磕磕绊绊终于配置好了,究极自闭中... IDEA版本:2018.1.5 x64JDK版本:10.0.1Tomcat版本:9.0.8Struts2版本:2.5.18 1.打开idea,选择File > new > project..左侧选择Java Enterprise,右边勾选Struts 2,注意右下方的Libraries中勾选Set u...
2018-12-15 15:13:36
547
原创 HDU-1251 统计难题(字典树)
统计难题Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 54249 Accepted Submission(s): 18967 Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单...
2018-07-31 15:24:28
158
转载 什么是离散化?
对于“什么是离散化”,搜索帖子你会发现有各种说法,比如“排序后处理”、“对坐标的近似处理”等等。哪个是对的呢?哪个都对。关键在于,这需要一些例子和不少的讲解才能完全解释清楚。 离散化是程序设计中一个非常常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中“只考虑我需要用的值”。下面我将用三个例子说明,如何运用离散化改进一个低效的,甚至根本不可能实现的算法。 《...
2018-07-24 14:58:56
2892
原创 HDU-1540 Tunnel Warfare(线段树)
Tunnel WarfareTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12058 Accepted Submission(s): 4709 Problem DescriptionDuring the War of...
2018-07-24 12:47:28
163
原创 HDU-1272 小希的迷宫(并查集)
小希的迷宫Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 62104 Accepted Submission(s): 19491 Problem Description上次Gardon的迷宫城堡小希玩了很久(见Prob...
2018-07-20 21:00:56
146
原创 HDU-1198 Farm Irrigation(并查集)
Farm IrrigationTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11414 Accepted Submission(s): 4936 Problem DescriptionBenny has a spac...
2018-07-20 15:32:00
159
原创 HDU-1856 More is better(并查集)
More is betterTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 29576 Accepted Submission(s): 10510Problem DescriptionMr Wang wan
2017-08-19 10:27:41
344
原创 HDU-1233 还是畅通工程(最小生成树Prim算法)
还是畅通工程Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 48819 Accepted Submission(s): 22279Problem Description某省调查乡村交通状况,得到的统计表中列出了
2017-08-17 10:20:04
253
原创 HDU-1232 畅通工程(并查集)
畅通工程Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 56945 Accepted Submission(s): 30449Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,
2017-08-17 10:09:58
204
原创 RMQ
RQM 区间最值查询即给定一个数组 a,查询数组下标 x 到下标 y 的最值。该算法在时间 O(nlogn) 内预处理,然后在时间 O(1) 内回答每个查询下面通过举例说明给出代码数组arr:5 6 7 2 8 9 0 4 1dp [ i ] [ j ] 表示从 arr [ i ] 起,长度为 1 故dp [ 1 ] [ 0 ] = max (
2017-08-08 17:12:33
180
原创 Dijkstra算法
Dijkstra算法适用于最短路问题中边权为正的情况,可用于计算单源最短路,即从单个源点出发,到各个结点的最短路。该算法同时适用于有向图和无向图,并且图中可有环。《算法竞赛入门经典》一书中将该算法思路作如下描述: 设数组 d [ i ] 表示 从 源点 到 结点 i 的 最短路。 d [ 0 ]
2017-08-04 14:49:47
1072
原创 博弈论
1.尼姆博弈有n堆物品,每堆分别有物品数量a,b,....z等,两人轮流取,最少取一个,最多不限,最后取光者胜结论: a^b^c^...^z=0时先手必败代码如下: int n; //n堆物品 int tag=0; //保存异或结果,初始化为0 int size; //每堆物品的数量 cin>>n; while(n-
2017-08-04 11:20:10
204
原创 vector和set
vector是一个模板,一个不定长的数组,之间可以直接赋值或者作为函数的返回值声明: vector 类似于一个 int a[] 的整数数组 或 vector 类似于一个 string a[] 的字符串数组调用:若 a 是一个 vector a.size() 读取大小 a.r
2017-07-29 10:39:34
1478
原创 lower_bound和upper_bound
STL中的lower_bound和up_boundlower_bound查找“大于或等于x的第一个位置”upper_bound查找“大于等于x的最后一个位置”用法案例:#include#includeusing namespace std;int main(void){ int a[7]; for(int i=0;i<7;i++) cin>>a[i];
2017-07-14 17:07:27
220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人