- 博客(92)
- 资源 (1)
- 收藏
- 关注

原创 104.【JAVA编程】Java虚拟机
栈是运行时的单位,而堆是存储的单元。栈解决程序的运行问题,即程序如何执行,或者说如何处理数据,堆解决的是数据存储的问题,即数据怎么放,放在哪儿。二、JAVA代码编译和执行过程类加载机制JVM的类加载是通过ClassLoader及其子类来完成的,类的层次关系和加载顺序可以由下图来描述:1)Boo...
2018-04-13 09:35:15
243
原创 Spring事件入门
Spring Event的初步讲解准备三个部分事件类:定义事件,继承ApplicationEvent的类成为一个事件类。发布者:发布事件,通过ApplicationEventPublisher发布事件。监听者:监听并处理事件,实现ApplicationListener接口或者使用@EventListener注解。事件类方法一:定义一个抽象的事件类的父类方法二:泛型定义一个统一的父类发布事件方式1:直接使用ApplicationEventPublisher(推荐)方式2:实现ApplicationEventP
2022-05-31 09:14:02
306
原创 IntelliJ IDEA 常用快捷键 之 Windows 版
IntelliJ IDEA 常用快捷键 之 Windows 版温馨提示:在 IntelliJ IDEA 中,熟练的使用快捷进行编程可以极大的提升我们的用户体验,祝你幸福!Ctrl快捷键介绍Ctrl + F在当前文件进行文本查找 (必备)Ctrl + R在当前文件进行文本替换 (必备)Ctrl + Z撤销 (必备)Ctrl + Y删除光标所在行 或 删除选中的行 (必备)Ctrl + X剪切光标所在行 或 剪切选择内容Ctrl + C复制
2021-09-24 10:20:24
196
原创 IntelliJ IDEA 快捷键 之 Mac 版
IntelliJ IDEA 常用快捷键 之 Mac 版温馨提示:在 IntelliJ IDEA 中有两个 Mac 版本的快捷键,分别为 Mac OS X 和 Mac OS X 10.5+, 其中 Mac OS X 10.5+ 为 IntelliJ IDEA 默认的快捷键版本。此外,建议将 Mac 系统中与 IntelliJ IDEA 冲突的快捷键取消或更改,不建议改 IntelliJ IDEA 的默认快捷键。Mac 键盘符号和修饰键说明⌘ ——> Command⇧ ——> Shif
2021-09-24 09:59:22
718
原创 【架构体系】架构理论知识一
架构理论知识一架构分类目的:软件架构的核心价值,即是控制系统的复杂性,将核心业务逻辑和技术细节的分离与解耦1.业务架构-核心是解决业务带来的系统复杂性2. 应用架构功能视角3. 基础架构:基础架构着眼于解决分布式系统中存在的一系列问题架构分类目的:软件架构的核心价值,即是控制系统的复杂性,将核心业务逻辑和技术细节的分离与解耦所谓架构,见仁见智,很难有一个明确或标准的定义;但架构并非镜花水月或阳春白雪,有系统的地方就需要架构,大到航空飞机,小到一个电商系统里面的一个功能组件,都需要设计和架构。抽象而
2021-06-08 19:39:16
606
原创 【JAVA面试】-中高阶
01 Zookeeper 部分CAP定理ZAB协议leader选举算法和流程02 Redis 部分Redis的应用场景Redis支持的数据类型(必考)zset跳表的数据结构(必考)Redis的数据过期策略(必考)Redis的LRU过期策略的具体实现如何解决Redis缓存雪崩,缓存穿透问题Redis的持久化机制(必考)Redis的管道pipeline03 Mysql 部分事务的基本要素事务隔离级别如何解决事务的并发问题(脏读,幻读)?MVCC多版本并发控制?binlog,
2021-04-05 15:13:32
174
1
原创 【nginx】proxy_pass详解
在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。第一种:location /proxy/ {proxy_pass http://127.0.0.1/;}代理到URL:http://127.0.0.1/test.html第二种(相对于第一种,最后少一个 / )locat
2021-04-04 20:25:08
508
原创 【架构设计】-秒杀场景设计学习
秒杀系统一个是并发读减少用户到服务端来“读”数据一个是并发写单独设计秒杀数据库数据尽量少、请求数尽量少、路径尽量短、依赖尽量少整体架构可以概括为“稳、准、快”架构原则:“4 要 1 不要”数据要尽量少...
2021-04-03 20:40:19
120
原创 【MYSQL】-总结1
unsigned int 是4个字节,上限就是2 -1===4294967295(id int unsigned auto_increment primary key)如果有可能,就应该创建成8个字节的bigint unsigned。18 | 为什么这些SQL语句逻辑相同,性能却差异巨大?对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能。案例一:条件字段函数操作案例二:隐式类型转换接数据类型转换的规则是什么?为什么有数据类型转换,就需要走全索引扫描?
2021-04-03 19:01:32
102
原创 SpringBoot 发布Shell
SpringBoot 发布Shell#!/bin/sh## chang hereSERVICE_DIR=/roncoo/spring-boot-demoSERVICE_NAME=spring-boot-demo-31-1-0.0.1-SNAPSHOTSPRING_PROFILES_ACTIVE=dev## java envexport JAVA_HOME=/opt/jdk1.7.0_79export JRE_HOME=${JAVA_HOME}/jrecase "$1" in st
2021-04-03 19:00:48
136
原创 【Java编程】-JANINO
【JANINO-动态编译脚本】新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入你好! 这是你第一次使用 Ma...
2021-04-03 19:00:30
370
原创 【微服务】概要
还有一点很重要, 并不是任何类型的服务都适合Failover 的,比如写服务,由于需要考虑幕等性,因此笔者建议调用失败后不应该进行重试,否则将导致数据被重复写人。只有读服务开启Failover 才会显得有意义,既然不需要考虑幕等性,就可以通过Failover 来提升服务质量。架构师重点需要考虑的问题是服务如何拆分、粒度如何把控,以及服务或服务之间的RPC 调用应该如何实现服务治理的三个基础要素如下所示:服务的动态注册与发现5服务的扩容评估:服务的升/降级处理。关于服务黑白名单、服务.
2021-04-03 18:57:43
140
原创 【Linux】常用总结
ls -l my* —展示某个文件ls -i +文件 —显示文件的inode数据进程 Process == psdu -h == 显示文件大小sort + 文件名== 对文件数据进行排序sort -n 文件名 == 把数字识别成数字进行排序grep 选项 模式 文件export 导入环境变量usert 删除环境变量Shell命令替换-------反引号 ``-------$()输出重定向 >输出重定向追加 >>输入重定向 &
2021-03-31 23:10:15
138
1
原创 【算法】-递归核心思想
递归套路第一要素:明确你这个函数想要干什么第二要素:寻找递归结束条件第三要素:找出函数的等价关系式案例1.斐波那契数列第一要素:明确你这个函数想要干什么第二要素:寻找递归结束条件第三要素:找出函数的等价关系式案例1.斐波那契数列f(n) = f(n-1) + f(n-2)...
2021-03-30 10:38:53
416
原创 【Linux命令之大文件切分与合并】
less -N filegrep world copy.log | lesstail 和 less 命令结合起来使用tail -n +10000 | less // 从第 10000 开始,使用 less 查看。tail -n 10000 | less // 查看倒数第 1000 行到文件最后的数据。与其说是查看大日志文件的方法,不如说是将 grep/awk/sed/head/less/tail 多个命令结合起来的方法Linux命令之大文件切分与合并一:切分当面临将一个大文件进行切分
2021-03-29 22:09:44
459
原创 【MYSQL】日志结构
Binlog 是逻辑日记用于记录数据库执行的写入操作(查询不记录)信息,Server层记录和引擎层无关,并且是以追加方式进行写入,可以通过参数 max_binlog_size 设置每个Binlog文件的大小,文件大小达到设定值时会生成新的文件来保存日记。主要用在两个场景:主从复制和数据恢复对于Binlog,MySQL是通过参数sync_binlog参数来控制刷盘时机,取值是0、1和N三种值。0表示由系统自行判断何时调用sync()写入磁盘;1表示每次事务commit都要调用fsync().
2021-03-27 14:53:42
485
原创 【Spring-boot-ConditionalOnBean】
@ConditionalOnBean bean存在则创建@ConditionalOnMissingBean bean不存在则创建@ConditionalOnClass Class存在则创建@ConditionalOnMissingClass Class不存在则创建
2021-03-17 22:57:28
151
原创 【Spring -AOP-IOC定义】
IoC(Inversion of Control)(1). IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。 对于Spring而言,就是由Spring来控制对象的生命周期和对象之间的关系;IoC还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,即由容器动态地将某种依赖关系注入到组件
2021-03-13 16:02:04
87
原创 【SPRING-事务基础】
事务管理传播行为 隔离级别 是否只读 发生异常处理 超时时间Propagation Isolation readOnly Exception timeOut1.1. 事务传播行为什么叫事务传播行为?听起来挺高端的,其实很简单。即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。例如:methodA事务方法调用methodB事务方法时,meth.
2021-03-13 15:58:35
155
1
原创 【MYSQL-B+】
MYSQL-B+多路平衡查找树B+树索引B+树好处B+分列2.为什么选择B+树,不用Hash做索引??3.为什么使用主键自增索引??MYSQL的B+Tree索引树高度如何计算??数据库中B+树索引分为聚集索引(clustered index)和非聚集索引(secondary index).B+树索引B+树好处B+分列2.为什么选择B+树,不用Hash做索引??3.为什么使用主键自增索引??B+树是有序的,如果主键不是自增的话,可能带来叶子节点的迁移,—数据移动浪费性能;移动过程中如果数据页
2021-03-11 22:43:30
200
原创 【面试专题】-前言
面试如何回答:1.突出重点2.能说清楚整个高可用部署架构和现场绘画架构图3.为啥选取此技术(同类技术的比较)4.知其然,知其所以然5.深入思考架构,技术选型的原因6.任何技术都是双刃剑--优点、缺点...
2021-03-06 19:46:30
153
原创 【工作的智慧】1
责任和担当:自信和自强:目标是什么:制定一个小目标,走出自己的舒适区,最有效的运动的是你能坚持下去的,一旦迈出去,就很难停下来计划是什么:邮件编写的规则:现状和背景说明问题描叙影响分析期望得到的资源临时方案和最终方案...
2021-03-06 19:40:44
69
原创 【Java虚拟机】
一、运行时数据区域线程公有Java堆所有对象都在这里分配内存,是垃圾收集的主要区域(“GC 堆”)。分为新生代,老年代。新生代又可进一步细分为 eden、survivor space0(s0 或者 from space)和 survivor space1(s1或者to space)。方法区用于存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。对这块区域进行垃圾回收的主要目标是对常量池的回收和对类的卸载,但是一般比较难实现。HotSpot 虚拟机把它当成永久代来
2021-03-06 17:24:35
84
原创 【JAVA线程】-大纲
一、线程状态转换新建(New)创建后尚未启动。可运行(Runnable)可能正在运行,也可能正在等待 CPU 时间片。包含了操作系统线程状态中的 Running 和 Ready。阻塞(Blocked)等待获取一个排它锁,如果其线程释放了锁就会结束此状态。无限期等待(Waiting)等待其它线程显式地唤醒,否则不会被分配 CPU 时间片。限期等待(Timed Waiting)无需等待其它线程显式地唤醒,在一定时间之后会被系统自动唤醒。调用 Thread.sleep()
2021-03-06 17:23:19
101
原创 spring cloud netflix hystrix
SpringCloud一spring cloud netflix hystrix微服务应用中因为某一服务故障,很容易因依赖关系而故障蔓延,最终导致整个系统瘫痪,--->断路器的服务保护机制 Circuit Breaker二级目录三级目录一spring cloud netflix hystrix微服务应用中因为某一服务故障,很容易因依赖关系而故障蔓延,最终导致整个系统瘫痪,—>断路器的服务保护机制 Circuit Breaker 服务降级 服务熔断 线程和信号隔离 请求缓存 请求合
2021-03-06 17:20:08
128
原创 JAVA变量总结
1.成员变量初始化任何变量首先应该要声明,然后再赋值,然后再使用成员变量:成员变量在类里面声明时如果不进行初始化,那么JAVA会默认给它初始化,局部变量:局部变量如果不给它初始化时就会出错2.类是静态的概念,是位于代码区里面。对象是new出来的,它是位于堆内存,为什么对象要位于堆内存?因为堆内存是用来动态分配内存的,只有在运行当中才会new一个对象放堆内存里面,那这个对象到底有多大个,这个东西你不知道,你没有办法提前知道,所以你没有办法提前分配内存给这个对象,你只有在运行期间才能去分配它3.
2021-03-05 22:44:40
672
原创 SpringMVC 统一的异常处理器
类型:使用 @ExceptionHandler 注解实现 HandlerExceptionResolver 接口使用 @ControllerAdvice 注解
2021-03-05 22:36:33
89
原创 Linux大师之路【alias】
整理常用的别名alias logccpath=‘cd /data/logs/lpcc/’alias rcclog=‘less /data/logs/lpcc/loanplus-cc.log’alias [别名]=[需要别名的命令]常用命令alias/alias –punalias [别名]文件永久生效/etc/bashrc 适用于所有用户/root/.bashrc 适用于管理员用户(root用户)/home/ [username] /.bashrc 适用于一般用户usernamerc文
2021-03-05 22:28:12
111
原创 JACKSON 遍历改变节点值
JACKSON 遍历改变节点值package com.magic.mirro;import com.fasterxml.jackson.databind.JsonNode;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.node.TextNode;import java.util.Iterator;import java.util.Map;/**Created
2020-10-25 20:43:07
861
原创 【LINUX】-SCP--FTP
SCP--FTP1-SCP1-1 【本地】---->【服务器】1-2 【服务器】---->【本地】2.FTP2-1 【基础命令】2-2 【下载文件】2-3 【 上传文件】2-4 【 状态码】2-5 【 常用命令】1-SCPscp [可选参数] file_source file_target1-1 【本地】---->【服务器】1.scp 本地文件 远端用户@远端IP...
2020-03-21 11:10:57
231
原创 【JAVA】-常用代码速查
【JAVA】-常用代码速查1-日期相关1-1 将时间字符串转化Long时间戳1-2 将Long时间戳转换为时间字符串1-3 将日期格式化2-Fastjson2-1.对象转JSON字符串2-2.字符串转JSON对象2-3.JSON对象遍历3-BigDecimal3-1 转化4-List4-1 转化5-Jackson5-1 转化1-日期相关1-1 将时间字符串转化Long时间戳 public s...
2020-03-21 10:40:00
353
原创 【JAVA-编程】Javaassist-总结
Javaassist-参考手册1、读取和输出字节码2、新增Class3、冻结Class4、Class 搜索路径5、ClassPool6、Class loader7、Introspection和定制8、修改方法体9 新增一个方法或者field10 注解11 javassist.runtime12 import1、读取和输出字节码ClassPool pool = ClassPool.getDef...
2020-02-12 13:54:56
1057
原创 【JAVA】-调用链设计demo
【JAVA】-调用链设计demo1-JAVA链式调用1-1 执行链1-2 执行者1-3 程序调用者,执行链的主要实现1-4 程序调用者,执行链的主要实现1-JAVA链式调用1-1 执行链主要作用是执行public interface ExectorChain { void execute();}1-2 执行者执行链上的元素,主要是执行动作的具体实现public...
2020-02-05 16:10:06
1016
原创 MYSQL-常用函数
MYSQL-常用函数时间与字符串之间相互转换1.时间转字符串2.字符串转时间3.时间转时间戳4.字符串转时间戳5.时间戳转字符串6. 附日期格式如下:时间与字符串之间相互转换1.时间转字符串DATE_FORMAT(日期,格式字符串)SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');2.字符串转时间STR_TO_DATE(字符串,日志格式)...
2019-12-28 20:53:11
103
原创 【Spring】-入门
【Srping常用注解】注解汇总AutoWire注入规则SpringMVC流程SpringMVC注解&驱动器SpringMVC和Spring父子容器注解汇总@Service用于标注业务层组件,表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean@Controller用于标注控制层组件(如struts中的action)@Repository用于标注数据访问组...
2019-09-01 10:42:30
102
原创 【Java编程】-CAS单点登录
CAS-TicketTGT(Ticket Grangting Ticket)TGT是CAS为用户签发的登录票据,拥有了TGT,用户就可以证明自己在CAS成功登录过TGT封装了Cookie值以及此Cookie值对应的用户信息。用户在CAS认证成功后,CAS生成cookie(叫TGC),写入浏览器,同时生成一个TGT对象,放入自己的缓存,TGT对象的ID就是cookie的值。当HTTP再次请...
2019-04-10 22:04:01
709
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人