java进阶
文章平均质量分 81
djcjcdj
有空多学习,少摸鱼,多睡觉
展开
-
大而全的JAVA复习
笔记1.类加载1.1什么是类加载类加载是一种机制,总共分为五个步骤:加载、验证、准备、解析、初始化。验证、准备、解析统称为连接1.2类加载的过程加载根据类的全限定名获取此类的二进制字节流根据字节流所代表的静态数据结构转化为方法区的运行时数据结构在虚拟机堆中创建Class对象作为此类数据的访问入口验证验证阶段的工作量在虚拟机的类加载子系统中占了很大一部分。因为类的二进制字节流的来源多样,所以需要验证上是否符合当前虚拟机的规范文件格式验证元数据验证字节码验证符号引用验证准原创 2020-10-27 20:31:38 · 388 阅读 · 0 评论 -
从Oracle官网了解G1
引言官网地址:https://www.oracle.com/technetwork/tutorials/tutorials-1876574.htmlG1提取到以下关键字:G1不是实时的垃圾回收器。G1的目标是用来替换CMS。 CMS是老年代收集器,配置parNew 和paraller scavenge新生代收集器使用。G1可以回收新生代和老年代G1是使用region作为管理内存的最小单位。young generation的region分布不是连续的region的类型:在G1中也是有you原创 2020-07-11 22:59:34 · 579 阅读 · 0 评论 -
JVM问题排查之常用命令
开篇要想排查jvm的线上问题,必先熟悉常用命令。主要有下列这些:jvm相关的命令:jinfo jmap jstat jstack jpslinux系统相关命令:top ps print diff free netstat文档查看相关命令:less more vi vim高级命令命令:sed awk grep egrep sort head熟悉上面这些命令才能在生产环境排查问题时游刃有余,当然还需要经验的积累,才能变成找问题工程师。JVM相关命令jinfo查看jvm的所有运行时参数ji原创 2020-05-31 00:41:25 · 728 阅读 · 0 评论 -
20200305沈剑阿里云MVP分享笔记
做完美的系统,还是?(万一出现情况,就要怎么怎么做)架构不仅是设计而来的,更是演进而来的任何脱离业务的架构设计,都是耍流氓从问题出发,已解决主要矛盾为优先我的观点没有完美的系统,不要为了某些极端情况(概率很低)去复杂化架构体系。与产品多沟通需求,往往能优化架构。也要多去了解日常生活中的产品,以及背后的技术架构(how?)程序员三阶段?打基础 1-3年 培养自己的核心竞争...原创 2020-03-07 14:37:10 · 137 阅读 · 0 评论 -
分布式事务设计与实践
分布式事务设计与实践数据一致性定义任何人任何时间任何地点任何接入方式任何服务数据都是一致数据不一致性产生原因数据分散在多处多个DBDB和缓存二手交易平台案例用户、商品、交易等功能...原创 2020-02-27 23:14:23 · 161 阅读 · 0 评论 -
高手之路——分布式锁设计与实践
分布式锁设计与实践分布式锁定义分布式环境下,锁定全局唯一资源请求处理串行化实际表现互斥锁分布式锁目的交易订单锁定防止重复下单解决业务层幂等问题MQ消息幂等性发送消息重复消息消费端去重比如手机提现在用户对商品下单后,订单状态为待支付,在某一时刻用户正在对该订单做支付操作,商家对该订单进行改价操作状态的修改行为需要做串行化处理,避免出现数据错乱。...原创 2020-02-09 20:55:37 · 202 阅读 · 1 评论 -
高手之路——服务幂等设计与实践
服务幂等设计与实践优雅停机方案非k8s,使用kill -4 进程号,让tomcat拒绝请求,再sleep 60s,等待请求处理完成。再kill 进程,再启动进程。k8s,利用k8s的机制,使用iptable 限制入口,sleep60s,kill 进程,kill pod。修改linux系统的连接数fd的限制ulimit -n fd幂等定义请求层面保证请求重复执行和执行一次结果...原创 2020-02-08 17:13:34 · 243 阅读 · 0 评论 -
高手之路——服务负载均衡设计与实践
服务负载均衡设计与实践负载均衡系统硬件F5A10Radware软件LVS4层Nginx7层HAProxy4层或7层反向代理VS正向代理==正向和反向代理的区别:用户是否知道代理的存在正向代理典型场景是使用VPN访问墙外网站和公司网络。反向代理典型场景是用户通过Nginx访问服务器,用户认为Nginx就是服务器。==负载均衡算法...原创 2020-08-20 23:34:11 · 100 阅读 · 0 评论 -
高手之路——服务无状态化设计与实践
服务无状态化定义冗余部署的多个模块(进程完全对等)请求提交到冗余部署的任一模块,处理结果完全一样模块不存储业务的上下文信息仅根据每次请求携带数据进行相应的业务逻辑处理服务无状态化目的快速扩容服务弹性缩容服务服务无状态化案例用户Session数据登录方法用户名+密码手机号+验证码登录成功生成用户凭证(session)AES(UID+Timestamp...原创 2020-02-08 09:24:13 · 599 阅读 · 0 评论 -
高手之路——高并发设计
高并发设计分布式系统微服务化分库分表,读写分离,数据分片无状态化设计,动态水平弹性扩展调用链路梳理,热点数据尽量靠近用户分布式Cache,多级多类型缓存容量规划提前拒绝,保证柔性可用举例电商秒杀系统电商秒杀系统特效大量并发,在某一时刻99%的用户涌入有效请求书很低,可用认为有效请求数和库存数一致,可能99%以上的流量都是无效的库存数据一致性要求严格,不能超卖解决...原创 2020-02-06 22:29:16 · 140 阅读 · 0 评论