自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Netty网络编程

参考文档。

2023-07-15 17:25:09 174

原创 java泛型

泛型,泛型边界

2022-12-26 13:33:27 79

原创 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 324

原创 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 373

原创 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 503

转载 23种设计模式

原文:https://www.cnblogs.com/cainiao-chuanqi/p/10957708.html1、根据目的分类:创建模式:描述“怎样创建对象”,分离对象的创建与使用。如spring的IOC。共5种:单例、原型、工厂方法、抽象工厂、建造者结构模式:描述如何将类或对象按某种布局组成更大的结构。共7种:代理、适配器、桥接、装饰、外观、享元、组合行...

2020-01-09 17:01:06 83

转载 PlantUml

参考文档:https://blog.csdn.net/junhuahouse/article/details/80767632https://www.cnblogs.com/ningskyer/articles/5397750.html1对多School “1” - “n” StudentclassA “1” <-- “n” classB...

2020-01-03 11:21:22 197

原创 数据库横表纵表区别

横表:最常见的建表方式。如:主键、字段1、字段2、字段3宽表:大数据概念,列很多的横表idnameage1张三20纵表:把横表的一行记录拆成多行,用键值对来存储。idkeyvalue1name张三1age20适用场景横表纵表简单是否直观是1、字段描述不清楚2、只能...

2019-10-27 20:20:31 4830

原创 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 178 1

原创 Java8新特性实践

1、Lambda表达式/闭包。参考 http://www.runoob.com/java/java8-lambda-expressions.html/** * &amp;lt;pre&amp;gt; * 1, Lambda表达式,也可称为闭包。是对《接口匿名实现类》的一种简化? * 2, Lambda 允许把函数作为一个方法的参数,《接口的匿名实现类》作为引用传递? * &amp;lt;/pr...

2019-02-28 22:00:00 212

原创 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 3515

原创 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 202

原创 断点续传

背景:大文件下载一般需要断点续传。 公司的fastdsf服务器日志显示,一个下载请求会触发多次下载。 打印header,发现多了一个属性 Content-Range=bytes 10000-19999/20000服务端代码inputStream=new FileInputStream(&quot;文件路径&quot;); long pos = 0; if (null != reques...

2018-09-09 21:24:32 2117

原创 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 114

转载 索引_二叉树_平衡二叉树_B-Tree_B+Tree

转自 https://blog.csdn.net/qq_36098284/article/details/80178336 稍微改动了下二分查找(Binary Search/折半查找):要求线性顺序存储 平衡二叉树(Self-balancing binary search tree,又称AVLTree):性能逼近二分查找,但是插入删除节点不需要移动大段的数据。 实现方法:红黑树、...

2018-09-07 14:29:21 158

转载 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 472

原创 面向对象的方式看otter

只看职责,和通信、交互。从大到小一点点剥离。 以前忽视了每个对象间的通信。

2018-08-02 20:11:02 153

原创 ZooKeeper和CAP理论及一致性原则

一、CAP理论概述 分布式领域中存在CAP理论,且该理论已被证明:任何分布式系统只可同时满足两点,无法三者兼顾。   ①C:Consistency,一致性,数据一致更新,所有数据变动都是同步的。   ②A:Availability,可用性,系统具有好的响应性能。   ③P:Partition tolerance,分区容错性。 因此,将精力浪费在思考如何设计能满足三者的完美系统上是愚钝的,...

2018-08-01 21:04:06 1333 1

原创 maven常见问题

mvn deploy失败1, pom.xml里面配置&amp;lt;distributionManagement&amp;gt; &amp;lt;repository&amp;gt; &amp;lt;id&amp;gt;nexus-releases&amp;lt;/id&amp;gt; &amp;lt;name&amp;gt;Nexus Release Repository&amp

2018-07-31 22:41:17 294

原创 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 93

原创 自勉

喜欢拖,拖到最后一刻,才开始拼命干, 规划很完美, 重要的事情放最后. 缺点太大.自勉:图难于其易,为大于其细。天下难事必作于易,天下大事必作于细。是以圣人终不为大,故能成其大。夫轻诺必寡信,多易必多难。是以圣人犹难之,故终无难矣。 老子,约公元前571年-公元前471年。 因此圣人始终不直接去做大事,所以能够成就大的功业。轻易许诺肯定难以兑现,把事看得太容易肯定会遇到太多的...

2018-06-11 23:27:40 138

原创 网络及代理

讨论基础以OSI(Open System Interconnection) 的7层模型为基准(理想标准): 物理层: 建立、维护、断开物理连接。数据单位:bit. 协议有:EIA/TIA(双绞线568A,568B),RS-232,RJ-45等 数据链路层: 建立逻辑连接、将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。数据单位:frame. 协议有:Ethernet(...

2018-06-01 13:39:17 1351

原创 JVM实践

jvm参数文档: Java Performance https://docs.oracle.com/javase/7/ https://docs.oracle.com/javase/8/ 英文很吃力,中文的很多抄袭(“促使内存”错别字也不改),而且规范和实践难免脱节. 太祖有训曰: 实事求是,不要教条主义; 太宗亦曰: 实践是检验真理的唯一标准1、常用jvm命令(命令本身自带帮...

2018-04-21 18:11:11 349

原创 markdown实验

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I ...

2018-04-21 16:06:53 167

原创 三国人物

袁绍(?-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 207

原创 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 342

原创 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 565

原创 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 467

原创 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 492

原创 字符编码--笔记

一、原码、反码、补码补码: CPU的减法,通过加法器和补码实现溢出(循环):256-1 与 -1 二进制一样。负数补码计算方法:数值位(符号位外的后7位),取反+1 //不”+1”的话,减法不能成功地变为加法-128 1000,0000 //-128是人为规定的,从-127而来,也是”+1”的原因之一-127 1000,0001

2017-12-10 16:37:01 569

原创 计算机硬件--笔记

电迁移。主频,也叫时钟频率,单位MHz,表示CPU内,数字脉冲信号震荡的速度。CPU的主频=外频×倍频系数。外频,CPU的基准频率,单位MHz。决定着整块主板的运行速度,两者是同步运行的。超频,都是超CPU的外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。 倍频系数,是指CPU主频与外频之间的相对比例关系FSB( Front Side Bus前端总线

2017-12-10 16:09:11 800

原创 编译原理--笔记

一、概念编译器:也是一个程序,把源程序转变为等价的另一种源程序(比如汇编==机器语言)词法分析变量,函数都是标识符。符号表-标识符相关的各种属性,贯穿编译的各个过程,每个过程都可能添加修改表数据: 若是变量名,名称,类型,kind种属(简单,复杂),值,存储位置,作用域若是过程名,名称,类型,参数,返回值类型。语法分析 建立语法树存储分配,先根中根后根二、编译基础:形式语言与自动

2017-12-10 15:49:03 492

原创 深入理解计算机系统--笔记

一、计算机体系结构冯·诺依曼体系结构(储存程序型电脑) 采用存储程序方式,指令和数据不加区别混合存储在同一个存储器中。不可编程的计算机器(计算器,学习机,非智能手机),不提供API,仅内含固定用途的程序,只能读数据存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的。指令由操作码和地址组成。操作码指明本指令的操作类型,地址码指明操作数和地址。操作数本身无数据类型的标志,它的数据类

2017-12-10 15:33:27 940

原创 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 538

原创 think_in_java--笔记

1、对象导论计算机是头脑延伸的工具抽象:所有编程语言、数学都是抽象。所能解决的问题复杂性,直接取决于抽象的类型和质量。对象:具有状态(内部数据),方法(在自身上执行操作),标识(内存唯一地址)对象:每个对象都是服务提供者。对象:通过引用操作对象。引用的对象。java只有这一种操作方式。直接常量:200L;10f;0x2f;有时候需要告诉编辑器常量类型垃圾回收:只与内存有关。GC负责释放

2017-12-10 10:57:27 411

原创 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 522

原创 SSL/TLS

SSL/TLSSSL(Secure Sockets Layer 安全套接层),网景公司出品(SSL,JavaScript)TLS(Transport Layer Security 传输层安全协议),IETF对SSL的标准化 加密:用非对称秘钥交换对称秘钥完整性:摘要 数字签名:用自己的私钥加密,对方用公钥解密,//不可抵赖身份认证:用对方的公钥,解密其他

2017-12-10 00:05:06 435

原创 Refactoring_Improving_the_design_of_existing_code--笔记

chapter-1例子1: 方法a(){根据不同类型电影,租期长短,计算价格,并输出}可能变化:增加/改变输出样式,电影类型分类可能会变,计费标准会变。 只有优秀的人才能写出人易读的代码。机器永远会理解。 方法/变量名称,是代码清晰的关键。方法应该放在,它使用的数据所属对象内,这样依赖低例子2:一个电影可以在生命周期内修改分类,一个对象却不能修复所属类。不能创建

2017-12-09 23:45:20 545

原创 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 535

原创 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 486

空空如也

空空如也

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

TA关注的人

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