SpringCloud微服务架构演进
Spring Cloud是基于Spring Boot的,因此还在使用SpringMVC的同学要先了解Spring Boot。先上一段官话,Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发框架。
Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
Spring Cloud全家桶 上面的图是Spring Cloud的全家桶,包罗万象,犹如水电,涉及到开发的方方页面。
Spring Cloud从设计之初就考虑了绝大多数互联网公司架构演化所需的功能,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。
首先是核心服务治理的组件(服务注册与发现)Spring Cloud Eureka ...
java逆向安全之反编译jar和jar加密
反编译class
1234567891011121314151617@echo offecho %1set clasPath=%1for /f "tokens=4* delims=\" %%a in ("%clasPath%") do ( ::输出第一个分段(令牌) echo %%a java -jar .\tools\cfr-0.152.jar %1 java -jar .\tools\cfr-0.152.jar %1 > %%a.java)::if "%1"=="" ( echo Please enter [class file name] or [jar package path and outputdir path] ) ^::else if "%2"=="" (java -jar .\tools\cfr-0.152.jar %1) ^::else ( java -jar .\tools\cfr-0.152.jar %1 --outputdi ...
Spring源码解析
一.IOC源码深度剖析1.一般第一步都是加载xml文件,创建一个ApplicationContext容器
123456public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); TestBean testBean = (TestBean) applicationContext.getBean("testBean"); testBean.print();}
2.进入 new ClassPathXmlApplicationContext(“classpath:applicationContext.xml”)这个构造方法;
123456789101112public ClassPathXmlApplicationContext( String[] configLocat ...