自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java动态代理 jdk和cglib的实现

综述: 代理是一种设计模式,一种思想理念,通俗的说,就是一种观念。代理的实现方式有多种:静态代理,动态代理。静态代理: 静态代理的实现非常简单,在业务类外面再包一层代理类,所有对外的接口都通过代理类进行调用,外部不知道内部业务类的名称等,保证了内部类的安全。本文不做详细说明。动态代理: java动态代理实现方式有:Java自带的jdk,javax包...

2020-03-30 10:43:02 168

原创 nnn

一、JDK代理的实现接口:public interface FuncFacade { void funPublic(); void funPrivate();}实现类:public class FuncFacadeImpl implements FuncFacade { @Override public void funPublic(){ ...

2020-03-07 20:39:27 252

原创 分布式相关

1、问:why分布式锁,以及how? 曰:比如,我们有如果是单台机器,并发来了怎么搞?我们有很多处理高并发的方法手段,例如synchronized、retrentlock、courrentMap、synchronizeHashMap等等,来防止高并发,这个是合理的。但是这只能针对一台机器,如果有一个方法,每次只允许一个访问,那么synchronized也可以出现两次。所以,单机锁没有用...

2019-10-27 16:00:40 151

原创 Linux相关

1、问:重定向输入输出 曰:>输出到,>>追加, <输入内容from files等。| 前面的内容做后面命令的输入参数。不,我指的是xargs2、问:grep zgrep -a 查找压缩文件的内容, -v 不包含3、awk 文本编辑器,begin、after不是必须,任何元素都可以作为数组的下标。4、sed ...

2019-10-19 14:34:17 88

原创 jvm相关

参考《深入理解JVM&G1CG》---周明耀,这本书讲的比较浅,如果需要深入了解,还得增加资料。类加载遵循“双亲委派”一般由父加载器ClassLoader进行加载,父加载器加载不了的才让子加载器加载。不然不同的加载器加载的类,是不一样的,使用equals方法可能会得到false。比如String使用ClassLoader,若使用自己定的加载器加载,可能可以做一点手脚,大家都会中招。还是...

2019-10-06 00:12:54 103

原创 thread相关

多线程进行同一个操作,可以使用synchronize同步,或者使用锁lock,也可以使用Atomic原子类。Atomic内部使用自旋锁和CAS进行操作,并发量大了之后,会导致多次自旋,唯一制约Atomic性能的就是高并发。为了应对这种情况,Java8之后引进了LongAdder、LongAccumulator、DoubleAdder、DoubleAccumulator,这些采用了分段加锁。比如...

2019-09-01 11:40:23 168

原创 snowflake

id生成的方法有很多: 1、微软的uuid,uuid使用机器网卡和时间戳,数据过长,不利于保存和操作。 2、twitter 的snowflake。 3、数据库自增id,也可以保证唯一性,但是并发太大扛不住。 4、通数据库差不多的redis,自增命令,天然支持高并发。snowflake的格式为:1位保留位置,41位时间戳,10位机器序...

2019-09-01 11:40:14 593

原创 网络协议相关

应用层:telnet、pop(邮件)、http、表示层会话层传输层 TCP/UDP网络层 IP/ICMP(链路诊断)/ARP(为链路层获得目标地址的MAC地址)/DHCP(动态地址配置协议,不用管理员配地址)/NAT(translator,地址转换,私有地址对外的转换,节约地址和网络安全考虑IPv6也有用)数据链路层物理层链路层有MAC地址,IP层数据包有IP地址,...

2019-08-18 10:16:22 109

原创 mysql 相关

mysql为什么建议字段not null?1、null列需要多一个字节表示是否为null。2、count(列)的时候,字段为null的行不会统计进来3、如果字段不会作为条件查询、不会作为索引,为null是没有关系选择的话,根据你需要的数据类型、锁级别、索引:InnoDB有事务、行级锁。InnoDB不支持FullText的全文索引,而MyISAM支持;MyISAM有个数据...

2019-08-10 10:15:57 75

原创 算法相关

算法相关。借鉴各种资料以及《数据结构与算法经典问题解析java语言描述》。以前有个大佬说,语言只是工具。大O:复杂度的上界,一般考虑这个,因为现实很残酷,只能考虑最差情况。Ω:复杂度的下界,没什么意义。Θ:上面两者的平均值。递归: 递归需要有终止条件,这里就可以很好的理解栈的大小决定了函数循环引用的深度这个问题了(Xss)。当递归调用的深度太深了,就算没有栈溢出也会占用很...

2019-07-31 00:00:41 282

转载 不论真假,转换思维是不是必须的?

转自https://www.choupangxia.com/2019/07/26/%E4%B8%8D%E6%87%82%E6%8A%80%E6%9C%AF%E5%8D%B4%E8%83%BD%E5%81%9A%E5%88%B0%E6%9C%88%E5%85%A520%E4%B8%87%E7%BE%8E%E5%85%83%EF%BC%8C%E5%B7%AE%E8%B7%9D%E5%9C%A8%E5%...

2019-07-29 23:56:47 87

原创 设计模式相关

六大原则设计原则只是说设计更合理,不按照设计原则的套路来并不是代码错误或者实现不了功能。敲了这么多年的代码,要学会优雅。1、开闭原则一个模块、一个类或一个方法,应该对扩展开放,对修改关闭。比如一个方法,如果有新的内容需要判断,如果要修改这个类,那就是违背了这个原则。如果能够做到无缝扩展,那就是符合这个原则。反例:public class PieChart { pu...

2019-07-22 01:34:55 141

原创 kafka相关内容

看过太多次kafka的内容,每次看过都会忘记。这次详细记录下自己记得已经理解的东西。借鉴于<kafka权威指南>1、kafka组成 kafka包括生产者、消费者、broker、zk、topic。2、搭建kafka 影响到kafka效率的有网络的吞吐量、硬盘吞吐量(SSD)、CPU的性能、内存的大小。一台机器的内存只需要留一点点给系统用,其他的内存可以给ka...

2019-07-21 00:46:48 328

空空如也

空空如也

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

TA关注的人

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