- 博客(47)
- 收藏
- 关注
原创 vscode-drawio安装
https://github.com/jgraph/drawio-integration/下载 hediet.vscode-drawio-1.6.4.vsixhttp://jgraph.github.io/drawio-integration/localstorage-svg.html#default
2022-04-07 15:39:55
416
原创 java动态代理3种方式
这里写自定义目录标题1、java.lang.reflect.Proxy#newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)被代理的类必须有接口2、cglib 被代理的类不需要有接口。通过继承子类实现,spring使用这种方式3、ASM 被代理的类不需要有接口。通过改写字节码实现PS: GOF中的代理模式是静态代理...
2020-05-24 03:20:08
409
原创 mac借助launchd开机启动shell脚本
1、编写脚本/User/river/start.sh内容省略2、设置launchdcd ~/Library/LaunchAgents #当前用户cd /Library/LaunchAgents #所有用户vi com.river.agent.plist #创建文件,内容如下com.river.agent.plist内容<!DOCTYPE plist PUBLIC "-//...
2020-03-19 00:23:50
654
转载 23种设计模式
原文:https://www.cnblogs.com/cainiao-chuanqi/p/10957708.html1、根据目的分类:创建模式:描述“怎样创建对象”,分离对象的创建与使用。如spring的IOC。共5种:单例、原型、工厂方法、抽象工厂、建造者结构模式:描述如何将类或对象按某种布局组成更大的结构。共7种:代理、适配器、桥接、装饰、外观、享元、组合行...
2020-01-09 17:01:06
115
转载 PlantUml
参考文档:https://blog.youkuaiyun.com/junhuahouse/article/details/80767632https://www.cnblogs.com/ningskyer/articles/5397750.html1对多School “1” - “n” StudentclassA “1” <-- “n” classB...
2020-01-03 11:21:22
236
原创 数据库横表纵表区别
横表:最常见的建表方式。如:主键、字段1、字段2、字段3宽表:大数据概念,列很多的横表idnameage1张三20纵表:把横表的一行记录拆成多行,用键值对来存储。idkeyvalue1name张三1age20适用场景横表纵表简单是否直观是1、字段描述不清楚2、只能...
2019-10-27 20:20:31
5381
原创 git实践
1、git概念工作区(Working Directory):就是代码文件。版本库(Repository):工作区下的隐藏目录.git。有3部分:暂存区,本地分支,HEAD指针暂存区(stage): git add,把文件修改添加到暂存区;不会产生log本地分支(branch): git commit 把暂存区的所有内容提交到当前分支HEAD指针: 指向master隐藏区(sta...
2019-08-06 10:56:28
221
2
原创 Java8新特性实践
1、Lambda表达式/闭包。参考 http://www.runoob.com/java/java8-lambda-expressions.html/** * &lt;pre&gt; * 1, Lambda表达式,也可称为闭包。是对《接口匿名实现类》的一种简化? * 2, Lambda 允许把函数作为一个方法的参数,《接口的匿名实现类》作为引用传递? * &lt;/pr...
2019-02-28 22:00:00
248
原创 mysql-事务-行锁-表锁
一、准备:SELECT * FROM information_schema.innodb_trx ; //查询事务SELECT * FROM information_schema.innodb_locks; //查询锁SELECT * FROM information_schema.innodb_lock_waits; //暂时不用show status like ‘innodb_ro...
2018-09-13 22:16:59
3598
原创 java_paltform_version_class_version
1. 引出问题:rocketmqConsole在jdk7下打war包,运行依然后报: java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; at com.alibaba.rocke...
2018-09-10 14:44:55
231
原创 断点续传
背景:大文件下载一般需要断点续传。 公司的fastdsf服务器日志显示,一个下载请求会触发多次下载。 打印header,发现多了一个属性 Content-Range=bytes 10000-19999/20000服务端代码inputStream=new FileInputStream("文件路径"); long pos = 0; if (null != reques...
2018-09-09 21:24:32
2161
原创 Mysql索引
mysql索引:基于B+Tree最左匹配原则:组合索引的最左边第一个字段排序,在此基础上排序第二个字段。查询时如果第一个字段缺失,会导致索引失效。索引列:不能参与函数计算。建表SQL,并导入了800万数据:CREATE TABLE `User` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEF...
2018-09-07 17:33:45
144
转载 索引_二叉树_平衡二叉树_B-Tree_B+Tree
转自 https://blog.youkuaiyun.com/qq_36098284/article/details/80178336 稍微改动了下二分查找(Binary Search/折半查找):要求线性顺序存储 平衡二叉树(Self-balancing binary search tree,又称AVLTree):性能逼近二分查找,但是插入删除节点不需要移动大段的数据。 实现方法:红黑树、...
2018-09-07 14:29:21
189
转载 rocketmq 顺序消息
转自 http://lifestack.cn/archives/483.htmlrocketmq的顺序消息需要满足2点:1.Producer端保证发送消息有序,且发送到同一个队列。 2.consumer端保证消费同一个队列。先看个例子,代码版本跟前面的一样。 Producer类:import java.io.IOException; import java.text.Simp...
2018-08-31 22:18:16
574
原创 ZooKeeper和CAP理论及一致性原则
一、CAP理论概述 分布式领域中存在CAP理论,且该理论已被证明:任何分布式系统只可同时满足两点,无法三者兼顾。 ①C:Consistency,一致性,数据一致更新,所有数据变动都是同步的。 ②A:Availability,可用性,系统具有好的响应性能。 ③P:Partition tolerance,分区容错性。 因此,将精力浪费在思考如何设计能满足三者的完美系统上是愚钝的,...
2018-08-01 21:04:06
1646
1
原创 maven常见问题
mvn deploy失败1, pom.xml里面配置&lt;distributionManagement&gt; &lt;repository&gt; &lt;id&gt;nexus-releases&lt;/id&gt; &lt;name&gt;Nexus Release Repository&
2018-07-31 22:41:17
342
原创 Nginx笔记
安装apt-get install nginx //ubuntu配置入口配置文件: /etc/nginx/nginx.conf映射配置 vi /etc/nginx/location.d/location.confserver { listen 80; server_name abc.com;#你要填写的域名,多个用...
2018-06-12 17:38:00
123
原创 自勉
喜欢拖,拖到最后一刻,才开始拼命干, 规划很完美, 重要的事情放最后. 缺点太大.自勉:图难于其易,为大于其细。天下难事必作于易,天下大事必作于细。是以圣人终不为大,故能成其大。夫轻诺必寡信,多易必多难。是以圣人犹难之,故终无难矣。 老子,约公元前571年-公元前471年。 因此圣人始终不直接去做大事,所以能够成就大的功业。轻易许诺肯定难以兑现,把事看得太容易肯定会遇到太多的...
2018-06-11 23:27:40
166
原创 网络及代理
讨论基础以OSI(Open System Interconnection) 的7层模型为基准(理想标准): 物理层: 建立、维护、断开物理连接。数据单位:bit. 协议有:EIA/TIA(双绞线568A,568B),RS-232,RJ-45等 数据链路层: 建立逻辑连接、将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。数据单位:frame. 协议有:Ethernet(...
2018-06-01 13:39:17
1470
原创 JVM实践
jvm参数文档: Java Performance https://docs.oracle.com/javase/7/ https://docs.oracle.com/javase/8/ 英文很吃力,中文的很多抄袭(“促使内存”错别字也不改),而且规范和实践难免脱节. 太祖有训曰: 实事求是,不要教条主义; 太宗亦曰: 实践是检验真理的唯一标准1、常用jvm命令(命令本身自带帮...
2018-04-21 18:11:11
376
原创 markdown实验
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I ...
2018-04-21 16:06:53
205
原创 三国人物
袁绍(?-202年6月28日袁术(?-199年)魏晋士族,九品中正制(曹丕)魏国(220年12月10日—266年2月4日)曹操(155年-220年3月15日)曹仁(168年-223年)曹洪(?-232年)曹休(?-228年)曹真(?-231年)夏侯惇(?-220年)夏侯渊(?-219年)张郃(?-231年)张辽(169年-222年)典韦(?-197年)曹丕(187年冬—2
2018-01-14 17:39:27
491
原创 docker--体验(一)
参考 https://imroc.io/tags/docker%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8/Ubuntu安装dockersu //docker很多操作都需要root权限apt-get updateapt-get -y install apt-transport-https ca-certificates curl software-propertie
2017-12-31 14:56:25
374
原创 ajax跨域 & 同源策略
同源策略同源:URL三元组(协议,域名,端口)完全一致同源策略(禁止js/ajax跨域):浏览器禁止源A页面上的javascript,读写其他源的数据。比如: 源A页面的ajax请求http://openapi.tencentyun.com/v3/user/get_infochrome console提示:Failed to load http://openapi.tencentyun.co
2017-12-24 18:41:09
593
原创 maven--pom.xml详解
参考http://maven.apache.org/pom.htmlIntroductionPOM : Project Object Modeltop elements<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc
2017-12-23 09:40:37
511
原创 Maven--setting.xml详解
基本上是对官网的翻译和简化 http://maven.apache.org/settings.htmlIntroductionsettings.xml是maven的全局配置文件pom.xml文件是所在项目的局部配置settings.xml文件位置 global settings : ${maven.home}/conf/settings.xmluser settings : ~/.m2/s
2017-12-19 09:39:26
573
原创 字符编码--笔记
一、原码、反码、补码补码: CPU的减法,通过加法器和补码实现溢出(循环):256-1 与 -1 二进制一样。负数补码计算方法:数值位(符号位外的后7位),取反+1 //不”+1”的话,减法不能成功地变为加法-128 1000,0000 //-128是人为规定的,从-127而来,也是”+1”的原因之一-127 1000,0001
2017-12-10 16:37:01
624
原创 计算机硬件--笔记
电迁移。主频,也叫时钟频率,单位MHz,表示CPU内,数字脉冲信号震荡的速度。CPU的主频=外频×倍频系数。外频,CPU的基准频率,单位MHz。决定着整块主板的运行速度,两者是同步运行的。超频,都是超CPU的外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。 倍频系数,是指CPU主频与外频之间的相对比例关系FSB( Front Side Bus前端总线
2017-12-10 16:09:11
852
原创 编译原理--笔记
一、概念编译器:也是一个程序,把源程序转变为等价的另一种源程序(比如汇编==机器语言)词法分析变量,函数都是标识符。符号表-标识符相关的各种属性,贯穿编译的各个过程,每个过程都可能添加修改表数据: 若是变量名,名称,类型,kind种属(简单,复杂),值,存储位置,作用域若是过程名,名称,类型,参数,返回值类型。语法分析 建立语法树存储分配,先根中根后根二、编译基础:形式语言与自动
2017-12-10 15:49:03
553
原创 深入理解计算机系统--笔记
一、计算机体系结构冯·诺依曼体系结构(储存程序型电脑) 采用存储程序方式,指令和数据不加区别混合存储在同一个存储器中。不可编程的计算机器(计算器,学习机,非智能手机),不提供API,仅内含固定用途的程序,只能读数据存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的。指令由操作码和地址组成。操作码指明本指令的操作类型,地址码指明操作数和地址。操作数本身无数据类型的标志,它的数据类
2017-12-10 15:33:27
973
原创 mysql-复杂sql
将查询结果作为临时表:select * from ( select a.id as id,b.name as name from t_a a, t_b b where a.id=b.id ) as tmp 将查询结果插入到目表表:表存在 insert into 目表表 select * from 表 where 条件表不存在 //经常不好用。 sele
2017-12-10 11:04:47
574
原创 think_in_java--笔记
1、对象导论计算机是头脑延伸的工具抽象:所有编程语言、数学都是抽象。所能解决的问题复杂性,直接取决于抽象的类型和质量。对象:具有状态(内部数据),方法(在自身上执行操作),标识(内存唯一地址)对象:每个对象都是服务提供者。对象:通过引用操作对象。引用的对象。java只有这一种操作方式。直接常量:200L;10f;0x2f;有时候需要告诉编辑器常量类型垃圾回收:只与内存有关。GC负责释放
2017-12-10 10:57:27
435
原创 java系统属性
Properties列出所有的系统属性Properties pps = System.getProperties();pps.list(System.out);获取单个属性 : System.getProperties(“user.dir”)启动java时,设置系统属性: -Dnid=1 (idea中为vm options)Program arg (程序参数): 是main(String
2017-12-10 00:16:13
561
原创 SSL/TLS
SSL/TLSSSL(Secure Sockets Layer 安全套接层),网景公司出品(SSL,JavaScript)TLS(Transport Layer Security 传输层安全协议),IETF对SSL的标准化 加密:用非对称秘钥交换对称秘钥完整性:摘要 数字签名:用自己的私钥加密,对方用公钥解密,//不可抵赖身份认证:用对方的公钥,解密其他
2017-12-10 00:05:06
453
原创 Refactoring_Improving_the_design_of_existing_code--笔记
chapter-1例子1: 方法a(){根据不同类型电影,租期长短,计算价格,并输出}可能变化:增加/改变输出样式,电影类型分类可能会变,计费标准会变。 只有优秀的人才能写出人易读的代码。机器永远会理解。 方法/变量名称,是代码清晰的关键。方法应该放在,它使用的数据所属对象内,这样依赖低例子2:一个电影可以在生命周期内修改分类,一个对象却不能修复所属类。不能创建
2017-12-09 23:45:20
587
原创 Effctive_Java--笔记&心得
equals && hashCode重写equals方法,只适合值类(枚举类除外)重新equals方法(普遍的等价关系),需遵循的约定: 自反性:x.equals(x)==true对称性: x.equals(y)==true 必然 y.equals(x)==true传递性: x.equals(y)==true, y.equals(z)==true 必然 x.equals(z)==true
2017-12-09 01:29:45
574
原创 SQL注入及防范
注入原理正常sql: select * from example where name = ‘tmriver’注入查询,把tmriver 替换成 tmriver’ or ‘1=1 : 生成的语句就是select * from example where name = ‘wnj’ or ‘1=1’注入删除,把tmriver 替换成 tmriver’; delete from example
2017-12-07 22:51:38
534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人