- 浏览: 51025 次
- 性别:
- 来自: 深圳
最新评论
文章列表
//循环迭代器中的元素
for (Iterator<Entry<String, String>> it=treeMap.entrySet().iterator();it.hasNext();) {
Entry<String, String> next = it.next();
System.out.println(next.getKey()+"...."+next.getValue());
}
spring注解大全
- 博客分类:
- Spring框架
Spring使用的注解大全和解释
@Controller
组合注解(组合了@Component注解),应用在MVC层(控制层),DispatcherServlet会自动扫描注解了此注解的类,然后将web请求映射到注解了@RequestMapping的方法上。
@Service
组合注解(组合了@Component注解),应用在service层(业务逻辑层)
@Reponsitory
组合注解(组合了@Component注解),应用在dao层(数据访问层)
@Component
表示一个带注释的类是一个“组件”,成为Spring管理的Bean ...
一、三大分布式计算系统
Hadoop适合处理离线的静态的大数据;
Spark适合处理离线的流式的大数据;
Storm/Flink适合处理在线的实时的大数据。
spring cloud学习总结
- 博客分类:
- Spring框架
一、Ribbon与Nginx区别
1.服务器端负载均衡Nginx
nginx是客户端所有请求统一交给nginx,由nginx进行实现负载均衡请求转发,属于服务器端负载均衡。
既请求有nginx服务器端进行转发。
2.客户端负载均衡Ribbon
Ribbon是从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地,让后在本地实现轮训负载均衡策略。
既在客户端实现负载均衡。
二、
spring cloud完整的配置项说明
- 博客分类:
- Spring框架
encrypt说明
名称
默 认
描述
encrypt.fail-on-error
true
标记说,如果存在加密或解密错误,进程将失败。
系统CPU内存耗尽问题分析
- 博客分类:
- 问题定位及性能优化
jstack -F pid >jst.log(java进程id,可以用jps或者ps aux|grep java 去找),将线程的状态输出到jst.log文件
值得关注的线程状态有:
死锁,Deadlock(重点关注)
执行中,Runnable
等待资源,Waiting on condition(重点关注)
等待获取监视器,Waiting on monitor entry(重点关注)
暂停,Suspended
对象等待中,Object.wait() 或 TIMED_WAITING
...
mysql索引数据模型
- 博客分类:
- Mysql数据库
一、索引的数据模型
1、二叉树
单边增长问题
2、红黑树
高度不可控
3、B树
支持单个节点有多个子节点,单节点包含包含内容,读取节点需要读出整条内容,增大IO的消耗
4、B+树
非叶子节点只存储索引。另外,非叶子几点可以存储多个索引,叶子节点有前后元素的指针
二、聚集索引 非聚集索引
三、聚合索引
1、最左原则:有一个3列索引(col1,col2,col3),则已经对(col1)、(col1,col2)、(col1,col2,col3)上建立了索引;
2、查询优化器:可以对where字句左右添加进行交换
...
JAVA内存相关知识
- 博客分类:
- Java虚拟机
1、JAVA基础数据类型
byte
short
int
long
boolean
char
float
double
1字节
2字节
4字节
8字节
2、单个TCP长连接占用的内存大小
主要包含 读缓存区域 写缓存区域 协议控制区域。
net.ipv4.tcp_rmem = 4096 8192 4194304
net.ipv4.tcp_wmem = 4096 8192 4194304
第一个数字表示,为TCP连接分配的最小内存
第二个数字表示,为TCP连接分配的缺省内存
第三个数 ...
三次握手(Three-Way Handshake)即建立TCP连接,是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发,整个流程如下图所示:所谓四次挥手(Four-Way Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发,整个流程如下图所示:
redis的安装部署启动
- 博客分类:
- Redis中间件
一、redis的安装
cd /usr/local/
#下载redis
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
tar xzf redis-4.0.8.tar.gz
#修改文件夹名称
mv redis-4.0.8 redis
cd redis
#编译
make
#创建bin文件夹,把redis四个启动相关文件redis-server、redis-benchmark、redis-cli和redis.conf拷贝到一个目录下
mkdir bin
cp redis.conf bin/
...
memcache的安装部署启动
- 博客分类:
- Memcache缓存
1、安装libevent类库解压:#tar -zxvf libevent-2.0.21-stable.tar.gz进入目录:#cd libevent-2.0.21-stable指定安装路径:#./configure --prefix=/usr/local/libevent编译安装:#make && make install2、安装memcache组件#tar -zxvf memcached-1.5.4.tar.gz#cd memcached-1.5.4#./configure --prefix=/usr/local/memcached --with-libevent=/usr ...
消息系统节点服务器单机需支持25万长连接及每秒1.2万消息发送,本文档用于指导部署lvs搭建(软件版本ipvsadm-1.24.tar.gz keepalived-1.1.20.tar.gz)
一、LVS搭建
本次搭建基于DR负载均衡模式,设置了一个VIP(Virtual IP)为192.168.3.187,用户只需要访问这个IP地址即可获得网页服务。其中,负载均衡主机为192.168.3.203,备机为192.168.3.204。Web服务器A为192.168.3.129,Web服务器B为192.168.3.127
2.1 关闭防火墙
service iptables ...
一、mysql表数据量查询(按照倒序排列)
select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = 'mps' order by table_rows desc;
JSON常用的解析方法
- 博客分类:
- Java编程语言
1、java解析json 4中方式:
(1)json-lib
(2)Jackson
(3)Gson
(4)FastJson
2、js(浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: )
JSON.parse(jsonstr); //可以将json字符串转换成json对象
JSON.stringify(jsonobj); //可以将json对象转换成json字符串
3、jquery
$.ajax({
type: "POST",
data: {"templateId":te ...
mqtt支持100W长连接参数调优
- 博客分类:
- 问题定位及性能优化
一.消息推送节点服务器参数优化1 调整tcp参数 vi /etc/sysctl.conf
#限制一个进程可以拥有的VMA(虚拟内存区域)的数量vm.max_map_count = 655360
net.core.somaxconn = 1000000net.core.rmem_default = 262144net.core.wmem_default = 262144net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.core.somaxconn = 10000net.core.netdev_max_backlog = ...