- 浏览: 441697 次
最新评论
-
liaodongdakai:
Java读源码之Netty深入剖析网盘地址:https://p ...
java Netty 之 字符串消息收发(ChannelBuffer) -
萨琳娜啊:
Java读源码之Netty深入剖析网盘地址:https://p ...
java Netty 之 教学视频 -
ccqy66:
感觉步骤1的描述有问题吧,aof重写时是不会读原aof文件是, ...
Redis的AOF重写机制 -
dick1305:
没有了,能否再提供一个下载地址。谢谢。
java Netty 之 教学视频 -
dick1305:
...
java NIO 之 mina 和 netty
文章列表
[置顶] Linux 命令学习(5):rm
- 博客分类:
- Linux
昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除 ...
Spring过滤器和拦截器的区别
- 博客分类:
- spring--MVC
Spring过滤器和拦截器的区别
两者的作用
过滤器:
是在javaweb中,你传入的request、response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符.。
拦截器 :
是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,在你调用方法前打印 ...
Tomcat学习
- 博客分类:
- web服务器--tomcat
Tomcat学习
https://blog.csdn.net/u012562943/article/category/6048997
spring boot application.properties 配置参数详情
https://blog.csdn.net/true_hsf/article/details/77893481
锁、分布式锁、无锁分布式无锁
- 博客分类:
- 互联网应用
锁、分布式锁、无锁分布式无锁
为什么要有锁?
保证资源线程安全,简单说就是在多线程情况下不会乱。
锁的分类
JVM锁:类锁、对象锁、偏向、公平、重入、死锁
分布式锁:Redis、DB、zookeeper
类锁和对象锁的区别
类锁
方法中写着static
分布式事务解决方案
https://www.cnblogs.com/savorboard/p/distributed-system-transaction-consistency.html
http://www.infoq.com/cn/articles/solution-of-distributed-system-transaction-consistency
http://blog.csdn.net/mine_song/article/details/64118963
https://www.jianshu.com/p/453c6e7ff81c
java NIO 之适用场景
- 博客分类:
- java--NIO
java NIO 之适用场景
NIO适用场景
服务器需要支持超大量的长时间连接。比如10000个连接以上,并且每个客户端并不会频繁地发送太多数据。例如总公司的一个中心服务器需要收集全国便利店各个收银机的交易信息,只需要少量线程按需处理维护的大量长期连接。
Jetty、Mina、Netty、ZooKeeper等都是基于NIO方式实现。
BIO适用场景
适用于连接数目比较小,并且一次发送大量数据的场景,这种方式对服务器资源要求比较高,并发局限于应用中。
http://blog.csdn.net/j ...
分布式应用雪崩效用
对雪崩效用的理解
服务C依赖服务B,服务B依赖服务A,当服务A挂掉,这样服务B的请求一直等待,到超时为止,导致服务B的资源耗尽。
雪崩效用的原因
服务提供者不可用
重试加大流量
服务调用者不可用
服务提供者不可用的原因
硬件故障:服务器宕机或者网络故障
程序bug
缓存击穿:一般发生在缓存应用重启, 所有缓存被清空时, 以及短时间内大量缓存失效时。大量的缓存不命中, 使请求直击后端, 造成服务提供者超负荷运行, 引起服务不可用。
用户大量请求:在秒杀和大促开始前, ...
Spring-boot汇总
Spring-boot的目的是帮助开发者快速搭建Spring框架,帮助开发者快速启动web容器,Spring-boot继承了原有Spring框架的优秀基因,Spring-boot化简了使用Spring的过程。
核心功能
1. 从大量XML配置改成JavaConfig,看起来更清晰,因为分开了一个个类,不需要配置web.xml,javaConfig时,要将信息注入到bean,如:拦截器、过滤器、DispatcherServlet配置
2. 内嵌Tomcat(默认)和Jetty,只要有JDK就能启动web服务
...
JVM汇总
0. JVM的运行流程
1. 类初始化流程
父类静态块、父类静态变量
子类静态块,子类静态变量
父类非静态块、父类非静态变量,父类构造函数
子类非静态块、子类非静态变量,子类构造函数
2. java类加载流程
加载
根据类名找到.class文件,将该文件读取到内存中
互联网安全性问题
谈到互联网安全,会想起中间人攻击,DNS劫持,代理服务器等,对于这么多的危险,怎么保证我们的系统真的足够安全呢?
一个有效的方法:End to End Encryption(端对端加密)
...
互联网高并发问题
一般的互联网应用,访问量非常大,最常见的是高并发问题。这是很多程序员都头疼的问题,但是问题终究要解决,所以我们一起看看吧。
高并发要解决的问题
同步
服务器能够接受请求能力
响应时间
防止单点故障和扩展
同步
说起同步,就是要加锁,而锁又分为先三种
代码层次上的,
Quartz实现原理
- 博客分类:
- 调度任务
Quartz实现原理
主要组成部分:
scheduler(调度器):将job和trigger绑定在一起
job(任务) :配置具体哪个类实现定时任务
trigger(触发器) :配置定时器参数,如:多久执行一次,执行多上次等
Quartz工作原理
分两类线程:
Scheduler调度线程
任务执行线程
原理
执行常规调度的线程,常规调度线程轮询存储的所有trigger,如果有trigger到达了下一次触发的时间(用wait和notifyAll实现) ...
java -- 超大量数据排序
- 博客分类:
- java--数据结构
java -- 超大量数据排序
可以参考下别人的方法:
http://mp.weixin.qq.com/s/K94xtyTA50vU6UGG_ho23Q
以防中年迷茫的13件事
- 博客分类:
- 个人学习
以防中年迷茫的13件事
1. 不要跟第一个你爱上的人结婚,但是不妨爱上你后来结婚的人
2. 随时准备对赞美你的人说 Thank you
3. 学会玩,培养几个终身的嗜好
世界上最穷的人,是一个不会玩、没有嗜好的人。 ...