- 博客(85)
- 资源 (1)
- 收藏
- 关注
原创 画图工具,流程图、思维导图、原型图、UML、网络拓扑图等
作者:栩风链接:https://www.zhihu.com/question/48780488/answer/188362233来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。- Draw sequence diagrams online in seconds:免费,支持时序图,支持代码绘制,支持生成样例代码,样式较多,访问速度、响应速度慢,导出支持SVG,PNG,TXT,PDF- ProcessOn - 免费在线作图,实时协作:免费(有付费模板),支持流程图.
2020-05-25 15:33:37
1146
转载 终于有人把 Nginx 说清楚了,图文详解!
想必大家一定听说过 Nginx,若没听说过它,那么一定听过它的"同行"Apache 吧!Nginx 的产生Nginx 同 Apache 一样都是一种 Web 服务器。基于 REST 架构风格,以统一资源描述符(Uniform Resources Identifier)URI 或者统一资源定位符(Uniform Resources Locator)URL 作为沟通依据,通过 HTTP 协议提...
2020-03-10 21:17:12
361
原创 logback和slf4j的使用之logger使用
一、logger标签描述:(了解logger标签之前先看看两个重要概念) 1.主要概念:★★级别继承(level inheritance) 1)root标签是所有logger的祖先元素,所有的logger都继承与root元素,相当于java中的object对象。 2)每一个logger标签都可以指定一个级别(TRACE,DEBUG,INFO,WARN,ERROR五种,他们...
2019-12-25 14:02:54
1004
转载 JPA常用功能
一.Springboot下JPA根据实体类自动建表(Demo使用mysql数据库,alibaba线程池)1.Maven中引入相应依赖 <!-- JPA --> <dependency> <groupId>org.springframework.boot</groupId> ...
2019-12-18 11:38:33
676
原创 spring boot 几种定时任务的实现方式
定时任务实现的几种方式:1、Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。 2、ScheduledExecutorService:也jdk自带的一个类;是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去...
2019-12-05 14:29:06
182
原创 常用 Git 命令清单
下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-nam...
2019-11-07 14:22:18
151
转载 【JVM】CMS垃圾回收器
一、简介Concurrent Mark Sweep,是一种以获取最短回收停顿时间为目标的收集器,尤其重视服务的响应速度。CMS是老年代垃圾回收器,基于标记-清除算法实现。新生代默认使用ParNew收集器,基于复制算法二、垃圾回收过程分为四个步骤进行垃圾回收:初始标记,并发标记,重新标记,并发清除。只有初始标记和重新标记需要停顿。初始标记。只是标记一下GC Roots能直接关联到...
2019-09-21 16:08:38
354
原创 redis高级进阶------单进程单线程的Redis如何能够高并发?
1、基本原理采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗)(1)为什么不采用多进程或多线程处理?多线程处理可能涉及到锁 多线程处理会涉及到线程切换而消耗CPU(2)单线程处理的缺点?无法发挥多核CPU性能,不过可以通过在单机开多个Redis实例来完善2、Redis不存在线程安全问题?Redis采用了线程封闭的方...
2019-09-20 11:01:24
1116
1
原创 mysql 乐观锁,悲观锁
使用mysql悲观锁解决并发问题:https://www.cnblogs.com/laoyeye/p/8228467.html悲观锁的实现步骤:关闭自动提交,改为手动提交,开始事务,加锁,执行事务,提交事务和代码业务实现几乎很像,Spring AOP事务 也是类似过程,利用AOP动态代理是对mysql 事务的简单封装。使用mysql乐观锁解决并发问题:...
2019-09-20 09:52:54
208
原创 数据库面试全集(2019必看)
#### **题目**:主键 超键 候选键 外键是什么#### 定义**超键(super key)**: 在关系中能唯一标识元组的属性集称为关系模式的超键**候选键(candidate key)**: 不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了!**主键(primary key)**: 用户选作元组标识的一个候选键程序主键**外键(foreign...
2019-09-18 15:34:12
294
转载 java.c++.c#.c的区别
java.c++.c#.c的区别C++则一般看作是对C语言的扩展。Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。C#是微软开发的一种编程语言,语法类似Java,几乎就是从Java的翻版。C/C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于缺点,我想正是源于其优点,因为它们能控制的编程元...
2019-09-12 10:27:58
154
转载 数据库索引内部数据结构
摘要:本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接。本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接。一、摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索...
2019-09-12 10:15:02
282
转载 Hash详解
Hash(哈希)Hash :散列,通过关于键值(key)的函数,将数据映射到内存存储中一个位置来访问。这个过程叫做Hash,这个映射函数称做散列函数,存放记录的数组称做散列表(Hash Table),又叫哈希表。JAVA函数hashCode()即请求对象的哈希值。Hash的优点先分类再查找,通过计算缩小范围,加快查找速度。例:集合:{13,19,25,27,17}若是采用数...
2019-09-12 09:53:05
863
原创 BlockingQueue(阻塞队列)详解--实现生产者消费者
注意:该随笔内容完全引自http://wsmajunfeng.iteye.com/blog/1629354,写的很好,非常感谢,复制过来算是个积累,怕以后找不到。一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了...
2019-09-11 00:33:29
1246
转载 类加载机制-深入理解jvm
一.目标:1.什么是类的加载?2.类的生命周期?3.类加载器是什么?4.双亲委派机制是什么?二.原理 (类的加载过程及其最终产品):JVM将class文件字节码文件加载到内存中, 并将这些静态数据转换成方法区中的运行时数据结构,在堆(并不一定在堆中,HotSpot在方法区中)中生成一个代表这个类的java.lang.Class 对象,作为方法区类数据的访问入口。JVM将...
2019-09-10 10:15:01
110
原创 SpringCloud微服务架构漫谈(入门必备-服务治理、路由网关、服务注册与发现、容错机制、负载均衡)
不生产水,只做大自然的搬运工https://my.oschina.net/bigdataer?tab=newest&catalogId=5909638
2019-09-09 23:41:15
313
转载 spring AOP的两种代理
1.JDK动态代理2.cglib代理1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP3、如果目标对象没有实现了接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换注:JDK动态代理要比cglib代理执行速度快,但性能不如cglib好。所以在选择用哪种代理还是要看具体...
2019-09-09 21:23:14
132
转载 [jvm][面试]JVM 调优总结
堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: java-Xmx3550m -Xms35...
2019-09-09 20:50:46
140
原创 2019年9月面试记录
oppo 面试心得面试官整体评价:基础还可以,需要深入挖掘;其他方面需要涉猎,大致知道,比如dubbo\docker,不能局限于自己已知范围内。周一下午,现场面试,OCG大厦很气派,oppo员工看起来也很有职业素质。面试问题如下:1、jvm内存模型,jvm调优参数(垃圾回收几次后会转到老年代),回收器有哪些(串行、并行),具体的流程原理2、juc方面的,java.util.co...
2019-09-09 18:10:42
329
1
转载 集合 HashMap 的原理,与 Hashtable、ConcurrentHashMap 的区别?面试必问
同步首发:http://www.yuanrengu.com/index.php/2017-01-17.html原文:https://www.cnblogs.com/heyonggang/p/9112731.html如果你去面试,面试官不问你这个问题,你来找我^_^下面直接来干货,先说这三个Map的区别:HashTable底层数组+链表实现,无论key还是value都不能为...
2019-09-04 16:31:00
115
转载 JVM原理讲解和调优(很全很细致)
JVM原理讲解和调优一、什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编...
2019-09-04 14:52:30
954
转载 linux 权限 命令777(755,750)
原文链接:https://blog.csdn.net/mwangsheng/article/details/77991304linux命令chmod 777(755,750)chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。一般是三个数字:chmod 750 “授权文件名”第一个数字表示文件所有者的权限第二个数字表示文件所有者同属一个用户组的...
2019-08-31 10:07:17
6423
转载 深入理解Java的三种工厂模式
一、简单工厂模式简单工厂的定义:提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类实现汽车接口奔驰类宝马类简单工厂,既能生产宝马又能生产奔驰测试类测试结果BMW根据简单工厂的定义,用户只要产品而不在乎产品如何生产,看起来好像很完美的样子。但大家想想,这个世界存在什么都生产的工厂吗?...
2019-08-31 10:05:47
114
转载 Python 爬虫入门的教程(2小时快速入门、简单易懂、快速上手)
http://c.biancheng.net/view/2011.html这是一篇详细介绍Python爬虫入门的教程,从实战出发,适合初学者。读者只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。这篇 Python 爬虫教程主要讲解以下 5 部分内容:了解网页; 使用 requests 库抓取网站数据; 使用 Beautiful S...
2019-08-30 21:32:57
18451
3
原创 java 守护线程
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 G...
2019-08-24 18:09:01
131
原创 通过 Callable 和 Future 创建线程
1. 创建 Callable 接口的实现类,并实现 call() 方法,该 call() 方法将作为线程执行体,并且有返回值。 2. 创建 Callable 实现类的实例,使用 FutureTask 类来包装 Callable 对象,该 FutureTask 对象封装了该 Callable 对象的 call() 方法的返回值。 3. 使用 FutureTask 对象作...
2019-08-24 16:54:27
651
转载 Thread的join()方法
版权声明:本文为CSDN博主「2的32次方」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/a158123/article/details/78633772join简介join()方法是Thread类中的一个方法,该方法的定义是等待该线程终止。其实就是join()方法将挂起调用线程的执行,直到被调用...
2019-08-24 16:08:28
246
原创 刷题常备--很基础但是很实用的函数
很基础但是很实用的函数:一、字符串:1、substring(index) 取index后的子字符串2、substring(startIndex,endIndex), 开始于startIndex,但是不包含endIndex3、split(string str), 将字符串转化为字符数组,数组可以转化为set (),去重,达到字符串去重的目的。 String[]...
2019-08-22 23:08:40
166
原创 21. 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4一气呵成,写出如下代码 ,惊叹一把过了。思考过程如下:1、要不要用额外的空间,还是在原来的空间排序组合2、两个链表为空或者不等长 等等一些特...
2019-08-22 22:11:15
125
原创 13. 罗马数字转整数
罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。1...
2019-08-22 21:07:03
79
转载 git fetch 和git pull 的差别
1、git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令: git fetch orgin master //将远程仓库的master分支下载到本地当前branch中 git log -p master ..origin/master //比较本地的master分支和origin/master分支的差别 git merge origin/mas...
2018-10-18 10:38:29
1083
转载 数据库事务 最全详解-----
http://www.cnblogs.com/xdp-gacl/p/3984001.html一、事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。 例如:A——B转帐,对应于如下两条sql语句 update from account set money=money+100 where name='B'; update from ...
2018-08-02 23:04:00
39770
10
转载 Mybatis事务(二)事务隔离级别
一般数据库的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。 √: 可能出现 ×: 不会出现 脏读 不可重复读 幻读 说明 Read uncommitt...
2018-08-02 22:47:54
434
转载 数据库事务(Database Transaction) --四个隔离级别
是指作为单个逻辑工作单元执行的一系列数据操作,要么完全地执行,要么完全地不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。事务是数据库运行中的一个逻辑工作单位,由...
2018-08-02 22:43:57
647
转载 事务的四大属性ACID即事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability.。
事务的四大属性ACID即事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability.。事务的四大属性ACID即事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability.。 原子性(Atomicity)原子性是指事务是一个不可分割的工作...
2018-08-02 22:29:19
487
转载 Java动态代理的两种实现方法
AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行。不同的切入时机对应不同的Interceptor的种类,如BeforeAdviseInterceptor,AfterAdviseInterceptor以及ThrowsAdviseIntercept...
2018-08-02 22:12:03
179
转载 Spring AOP详细介绍
Spring AOP详细介绍AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。一 AOP的基本概念(1)Aspect(切面):通常是一个类,里面可以定义切入点和通知(2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用(3)Advice(通知...
2018-08-01 23:21:29
146
Sonarqube.zip
2019-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人