自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 MySQL索引篇

文章目录索引篇介绍优势和劣势索引的分类索引的使用基本命令创建命令索引原理分析索引的存储结构聚集索引(InnoDB)非聚集索引(MYISAM)数据结构与算法索引的本质概念B-Tree和B+Tree联合索引的存储结构联合索引的查找方式最左前缀匹配原则索引使用场景哪些情况需要创建索引哪些情况不需要创建索引为什么使用组合索引索引失效查看执行计划执行计划包含十个列idselect_type(重要)type(...

2020-03-08 20:31:37 284

原创 MSQL架构篇

文章目录架构篇逻辑架构SQL层存储引擎层分类区别执行流程物理结构日志文件数据文件架构篇MySQL要点:介绍安装,sql语句,架构,索引,锁与事务,性能分析,性能优化,集群逻辑架构客户端–>sql层–>可插拔式存储引擎层–>文件系统需求–>处理sql–>操作文件系统SQL层管理工具连接池SQL接口:接收SQL的DDL和DML解析器...

2020-03-06 22:58:04 190

原创 03_信息安全_20190830

文章目录问题分析数据泄露攻击方式解决专家建议技术做法总结问题问题信息安全问题给人们的生活带来了很多坏的影响,经济上,精神上等等分析数据泄露攻击方式利用程序框架或库的已知漏洞暴力破解密码代码注入利用程序日志不小心泄露的信息社会工程学,员工安全意识薄弱数据管理上的问题只有一层安全弱密码向公网暴露了内部系统对系统及时打安全补丁安全日志被暴露保存了不必要保...

2019-09-01 14:03:23 196

原创 02_技术变现_20190830

文章目录如何让自己的技能变现第一,千里之行,积于跬步第二,关注有价值的东西第三,找到能体现价值的地方第四,动手能力很重要第五,关注技术付费点第六,提升自己的能力和经历第七,找到有价值的信息源第八,输出观点和价值观第九,朋友圈很重要总结如何让自己的技能变现第一,千里之行,积于跬步​ 首先,你得让自己身边的人有求于你,或是向别人推荐你。这就需要你能够掌握大多数人不能掌握的技能或技术,需要你更...

2019-09-01 14:03:02 152

原创 04_技术领导力

文章目录问题分析技术重要吗?什么是技术领导力?历史经验技术领导力如何拥有技术领导力?技术领导力特征拥有技术领导力第一,你要吃透基础技术第二,提高学习能力第三,坚持做正确的事第四,高标准要求自己总结问题问题:技术还是很重要的,如何拥有技术领导力.分析技术重要吗?中国目前处于加速发展中,遍地机会,公司可以通过“野蛮开采”来实现自身业务的快速拓展和扩张。而西方发达国家人口少一些,相对...

2019-09-01 13:59:49 145

原创 javaweb各种技术解决的问题

文章目录javaweb各种技术解决的问题技术点servletrequest和responsejsp会话技术CookieSession监听器ajaxjqueryFilter过滤器工具apijavaweb各种技术解决的问题技术点servlet作用:运行在服务器上,为页面提供动态数据request和response作用:Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于...

2019-08-04 21:07:56 320

原创 xml分析

文章目录XML分析解决问题优势劣势适用场景组成部分xml约束解析方式api相似对比XML分析解决问题问题应用程序和不同的厂商都有自己的数据结构和数据的交换形式,但程序是相互连通的,需要数据的传递,这就需要一种通用的数据交换方式,比如:企业和银行中台接口通信,他们各自都有自己的数据格式,企业可能在自己的一方在和页面交互和内部使用json格式传输数据,但是企业和银行之间需要一种通用的数据载...

2019-08-04 19:42:55 107

原创 javascript打印直角三角形四种情况

第一象限<script type="text/javascript"> var str = ""; for(var i=0;i<10;i++){ for(var j=0;j<i;j++){ str +=" "; } for(var j=i;j<10;j++){ str +="*"; } str+="\n"; ...

2019-07-27 15:27:28 3597 1

原创 关系型数据库基本概念

文章目录常见数据模型问题解决关系型数据库设计范式问题概念理解常见数据模型问题数据的存储形式解决层次模型有向树结构网状模型有向图结构关系模型二维表结构关系型数据库设计范式问题提高数据库的利用率,减少冗余概念数据库范式(1NF 2NF 3NF BCNF)详解理解第一范式理解每个列已经是最小单位,不能再分解第二范式有主键,数据不重复...

2019-07-24 23:02:26 486

原创 队列

问题基础数据结构学习解决数组队列队列不能复用package com.ygy.queue;import java.util.Scanner;/** * @author yangguangyuan * @create 2019-07-06 21:02 */public class ArrayQueueDemo { public static void main(Str...

2019-07-07 10:58:33 112

原创 稀疏数组

问题一个二维数组中,只记录了少量的值或相同的值,大量位置空闲,在程序中,如果开辟二维数组大小的空间,造成空间浪费分析如果只记录有用的位置,那么将会减少空间浪费解决二维数组–>稀疏数组记录初始二维数组大小和有用元素个数记录每个元素行列位置和具体值稀疏数组–>二维数组恢复二维数组大小将具体元素恢复到初始位置package com.ygy.sparsea...

2019-07-07 10:57:07 145

原创 mysql索引原理

问题逻辑上相邻的两条数据在物理内存上不一定相邻分析B+Tree的每个叶子节点增加一个指向相邻叶子节点的指针,就形成了带有顺序访问指针的B+Tree.这样就提高了区间访问性能:如果要查询key为从18到49的所有数据记录,当找到18后,只需顺着节点和指针顺序遍历就可以一次性访问到所有数据节点,极大提到了区间查询效率(无需返回上层父节点重复遍历查找减少IO操作)。问题索引查找过程中就要产...

2019-07-03 13:46:38 78

原创 ActiveMQ消息存储和持久化

文章目录问题分析解决官网类型AMQ Message Store(了解)kahaDB消息存储(默认)说明kahaDB的存储原理LeveDB消息存储(了解)JDBC消息存储过程总结注意JDBC Message store with ActiveMQ Journal说明总结问题MQ服务器宕机了,消息丢失怎么解决?分析为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采...

2019-07-02 22:15:10 180

原创 ActiveMQ的传输协议

基本概念官网:协议介绍ActiveMQ支持的client-to-broker的通信协议如下:TCP,NIO,UDP,SSL,Http(s),VM.其中配置Transport Connector的文件在activemq.xml中的的标签之内.协议类别TCP(默认)NIOAMQP协议stomp协议SSLmqttws(前端)TCP默认的Broker配置,TCP的Cli...

2019-07-01 22:46:58 244

原创 ActiveMQ基础分析

文章目录解决问题优势劣势优势劣势适用场景组成部分概念定义ActiveMQ安装和控制台Linux安装控制台编码实现maven工程目的地Destination生产者消费者两种模式比较底层原理JMS规范概念组成结构JMS的可靠性PERSISTENT:持久性transaction:事务Acknowledge:签收JMS的点对点总结JMS的发布订阅总结ActiveMQ的Broker概念嵌入式Broker相似...

2019-06-30 20:09:11 128

原创 JVM_3_强引用,软引用,弱引用,虚引用分析

文章目录JVM_3_强引用,软引用,弱引用,虚引用分析强引用概念示例软引用概念示例弱引用概念示例应用WeakHashMap虚引用概念示例引用队列demo对比JVM_3_强引用,软引用,弱引用,虚引用分析强引用概念当内存不足,JVM开始垃圾回收,对于强引用对象,就算出现OOM,也不会对该对象回收.强引用是造成java内存泄漏的主要原因之一示例package top.ygy....

2019-06-28 15:22:09 136

原创 JVM_2_常用的基本配置参数

文章目录JVM_2_常用的基本配置参数-Xms-Xmx-Xss-Xmn-XX:MetaspaceSize典型设置案例未配置参数前配置参数之后-XX:+PrintGCDetails收集GC日志-XX:SurvivorRatio-XX:NewRatio-XX:MaxTenuringThresholdJVM_2_常用的基本配置参数-Xms初始大小内存,默认为物理内存的1/64等价于-XX:In...

2019-06-28 15:20:55 185

原创 JVM_1_如何盘点查看jvm系统默认值

文章目录JVM_1_如何盘点查看jvm系统默认值jvm参数类型XX参数Boolean类型公式示例一示例二KV设置类型公式示例jinfo公式示例例题查看JVM默认值-XX:+PrintFlagsInitial-XX:+PrintFlagsFinalJVM_1_如何盘点查看jvm系统默认值jvm参数类型标配参数-version-helpjava -showversionX参数...

2019-06-28 15:20:25 481

原创 jvm

文章目录JVM解决问题Stack 栈栈存储什么栈的运行原理Heap 堆新生区养老区永久区常量池概念内存划分总结一总结二JVM解决问题问题​ 冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操作码和地址码组成,操作码决定了操作类型和所操作的数的数字类型,地址码则指出地址码和操作数。从dos到window8,...

2019-06-27 17:17:06 112

原创 GC算法分析

文章目录GCjdk1.7jdk1.8堆内存调优自动触发垃圾回收GC三大算法复制算法优势劣势使用场景组成部分标记清除优势劣势使用场景组成部分标记整理优势劣势使用场景组成部分相似对比GC频繁收集Young区,较少收集Old区,基本不动Perm区jdk1.7新生代:-Xmn新生代+旧生代:-Xms -Xmx永久代:-XX:PermSize,-XX:MaxPermSizejdk1.8jdk...

2019-06-27 17:16:03 123

原创 GC Root分析

文章目录GC Root分析解决问题适用场景组成部分定义可作为GC Root的对象示例GC Root分析解决问题问题java语言自动执行垃圾回收,但什么是垃圾呢?简单来说就是内存中已经不在被使用到的空间就是垃圾,那么又如何判断一个对象是否可以被回收呢?这时,出现了引用计数法,但是这种方法难以解决循环引用问题,那么又如何解决这个问题呢?解决枚举根节点做可达性分析(跟搜索路径)...

2019-06-27 16:21:49 795

原创 死锁编码及定位分析

文章目录死锁编码及定位分析是什么产生原因解决死锁编码及定位分析是什么​ 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力干涉,他们都将无法进行下去,如果系统资源充足,进行的资源请求都能够得到满足,死锁出现的可能性就很低,否则就回因争夺有限的资源而陷入死锁.package top.ygy.thread;public class DeadLockDe...

2019-06-25 15:55:04 113

原创 线程池分析

文章目录线程池分析解决问题优势劣势适用场景组成部分线程池使用技术架构编码实现ThreadPoolExecutor拒绝策略问题解决类型自定义线程池问题解决代码最优参数底层原理七个参数原理线程池分析解决问题问题为每个请求创建一个新线程的开销很大活动的线程也消耗系统资源解决​ 线程池为线程生命周期开销问题和资源不足问题提供了解决方案,线程池做的工作主要是控制运行的线程的数量,处...

2019-06-25 14:49:43 115

原创 Callable和FutureTask分析

文章目录Callable和FutureTask分析解决问题优势劣势应用场景组成部分FutureTask使用底层原理相似对比Callable和FutureTask分析解决问题问题​ 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口,这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。​ 如果需要获取执行结果,就必须通过共享变量或者使用线程通...

2019-06-24 15:17:58 263

原创 集合论_集合代数

文章目录集合代数解决问题创建过程组成部分基本概念集合定义集合表示集合基数集合关系空集全集相等关系包含关系子集和真子集证明集合相等n 元集的子集幂集定理集合运算集合运算定律可数集合与不可数集合等式可数集合不可数集合集合代数解决问题​ 在现代数学中,集合论是数学的基础,数学是其它学科的基础,集合论成为了基础的基础,可见其重要性​ 在离散数学中,我们需要用集合表达各类离散量和离散量之间的关系创...

2019-06-23 15:31:16 4133

原创 阻塞队列分析

文章目录阻塞队列分析解决问题优势劣势适用场景组成部分阻塞队列类型核心方法底层原理相似对比非阻塞队列实现生产者-消费者模式(Object)非阻塞队列实现生产者-消费者模式(Lock)阻塞队列实现的生产者-消费者模式(BlockingQueue)阻塞队列分析解决问题问题在concurrent包发布之前,程序员需要自己去控制线程的阻塞和唤醒,同时兼顾效率和线程安全,这给程序带来了不小的复杂度...

2019-06-21 17:08:47 272

原创 synchronized与Lock比较

synchronized与Lock区别原始构成synchronized是关键字属于JVM层面monitorenter(底层通过monitor对象来完成,起始wait/notify等方法也依赖于monitor对象,只有在同步块和方法中才能调用wait/notify等方法)monitorexitLock是具体类(java.util.concurrent.locks.lock)是a...

2019-06-21 16:06:02 195

原创 CountDownLatch与CyclicBarrier与Semaphore比较并分析

CountDownLatch概念一种线程的辅助,允许一个操作等待直到某个或某组操作执行完成倒数,计数为0时执行代码demo1package top.ygy.thread;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;/** * @Description: TOD...

2019-06-20 09:13:20 128

原创 java锁分析

Java不可重入锁和可重入锁理解公平锁与非公平锁概念公平锁多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到.非公平锁多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁,在高并发的情况下,有可能出现优先级反转或饥饿的现象公平锁:ReentrantLock设置为true为公平锁非公平锁:ReentrantLock默认非公平锁,synchron...

2019-06-19 10:04:28 106

原创 集合不安全问题

ArrayList问题线程不安全,报错:java.util.ConcurrentModificationExceptionpackage top.ygy.thread;import java.util.ArrayList;import java.util.List;import java.util.UUID;/** * @Description: TODO(集合类不安全问题)...

2019-06-18 14:43:29 225

原创 ABA问题分析与解决

ABA问题分析产生原因CAS会导致ABA问题CAS算法实现一个重要的前提是需要取出内存中某时刻的数据并在当下时刻比较并替换,那么在这个时间差类会导致数据的变化.比如说一个线程one从内存位置V中取出A,线程Two也执行,将A–>B–>A,这时one进行CAS操作发现内存仍是A,然后one操作成功.one操作成功,但是在这个过程中线程two可能操作了其它数据,产生问题.pac...

2019-06-16 17:10:05 6893

原创 CAS

CAS分析解决问题多线程自增计算,count++,出现丢失值问题,可用synchronized加锁解决,但是影响性能较大,使用原子类,可提高性能,原子类的底层原理就是CASpackage top.ygy.thread;import java.util.concurrent.atomic.AtomicInteger;/** * @Description: TODO(原子类解决自增...

2019-06-15 20:59:13 144

原创 volatile分析

volatile分析解决问题问题:多线程编程,共享变量需要多个线程可见,需要保证线程的执行顺序解决:禁止编译器优化而重排序指令。对 volatile 修饰的变量值,保证线程读取到的值是最新的,而不是寄存器中缓存的值。优势劣势优势轻量级锁劣势不保证原子性适用场景适用条件对变量的写操作不依赖于当前值。该变量没有包含在具有其他变量的不变式中。实例开销较...

2019-06-15 14:48:51 127

原创 eclipse配置

1. 基本配置2. 显示配置自动提示:Window -&amp;amp;amp;amp;amp;amp;amp;gt; Perferences,Java 下的Editor下的Content Assist ,abcdefghijklmnopqrstuvwxyzeclipse在编辑区顶端显示了包结构 a .Shift+Alt+B b .右击代码区,选择Show in Breadcrumb...

2018-05-31 11:44:52 113

原创 互联网并发编程

1. 并发编程1.1并发编程学习目的1.2线程安全1.7 volatile关键字2. 线程通信2.1线程之间通信2.2 使用wait和notify模拟queue2.3ThreadLocal2.3单例&amp;多线程3.1 同步类容器3.2 并发类容器4.1ConcurrentMap4.2Copy-On-Write容器6.1多线程设计模式6.2Future模式6...

2018-04-24 18:49:32 185

原创 20-Spring Boot AOP

AOP开发流程spring-boot-starter-aop加入依赖,默认开启了aop的支持 写一个Aspect,封装横切关注点,需要配置通知(前置通知,后置通知等)和切入点(切入点表达式) 这个Aspect需要纳入spring容器管理,并且需要加入@Aspect spring.aop.auto配置项决定是否启用AOP,默认启用 默认使用基于JDK的动态代理来实现...

2018-04-15 21:08:56 96

原创 17-Spring Boot Web

拦截器的使用步骤写一个拦截器,实现HandlerInterceptor接口 写一个类,集成WebMvcConfigurationSupport类,重写addInterceptors方法,并调用registry.addInterceptor,把上一步的拦截器加进去 HandlerInterceptor preHandle:controller执行之前调用 postHandle:co...

2018-04-14 17:10:28 92

原创 14-Spring Boot运行流程分析

Spring Boot运行流程分析 spring boot的启动实例化SpringApplication,然后调用run SpringApplication app = new SpringApplication(App.class);ConfigurableApplicationContext context = app.run(args); 直...

2018-04-12 22:19:14 293

原创 离散数学,可满足性问题与消解法,定理2.8的证明C1∧C2≈Res(C1,C2)

记 ,设消解文字 和 . 同时设 = , ,于是 = .假设 是可满足的, 是满足他的赋值,(在这里, 是合取范式,它被满足,当且仅当 ),不妨设 ,由于 也满足 , 必有文字满足为1,(由于 ,所以 ,但是我们需要为1的赋值,所以暂时记为 ), 且 , 与 消解掉 ,但是并没有消解掉 ,所以C中含有 ,故 满足C...

2018-01-27 00:18:33 14019

原创 sql语句优化

sql语句与orcale语句的where语句的条件执行顺序 : 都是从右到左执行示例:mysql:SELECT * FROM `book` where category is NULL or category='文学' and price>80; 结果是0条SELECT * FROM `book` where price>80 and category ...

2017-03-03 16:54:57 154

空空如也

空空如也

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

TA关注的人

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