- 博客(41)
- 资源 (2)
- 收藏
- 关注
原创 Java的基本类型
基本类型.Java的基本类型主要分为整数型,浮点型,字符型,布尔型。 整数型:byte,short,int,long; 浮点型:float,double 布尔型:boolean 字符型:char基本类型的大小 1byte:8bit,一个bit代表一个1或者0,是计算机的基本单位。 byte:1byte short:2 byte ...
2019-10-17 14:54:40 591
原创 记一次Java线上服务器CPU过载问题的排查过程
最近测试环境的订单模块经常性的挂掉,查看其CPU使用率达到177%。CPU占用高一般是由以下情况导致的:代码中存在死循环,导致应用一直占用着cpu。某一张表数据量极大,查出来进行处理极其耗时,这时一般还伴随着内存溢出异常。内存中存在虚拟机无法回收的对象,当内存不足的时候,gc一直在运行,导致CPU使用率飙升。要确认是由于哪一种情况导致,一般可以按照以下步骤确定。一. 使用TOP命令...
2019-08-28 18:02:38 1662
原创 Maven常用命令
Maven生命周期有三个内置的生命周期:默认(default),清洁(clean)和站点(site)。在默认(default)的生命周期处理你的项目部署,将清洁(clean)的生命周期处理项目的清理,而网站(site)的生命周期处理你的项目站点文档的创建。简化的默认(default)生命周期验证(validate) - 验证项目是否正确,所有必要的信息可用编译(compile) - 编译...
2019-07-20 15:57:06 567
原创 CentOS安装常用软件命令
安装源#阿里centos7wget http://mirrors.aliyun.com/repo/Centos-7.repo#网易centos7wget http://mirrors.163.com/.help/CentOS7-Base-163.repo#清理yum clean all#生成缓存yum makecache#更新系统yum -y update#使用YUM查找软...
2019-07-19 13:54:35 2215
原创 IDEA常用的Live Templates
otherifnif ($VAR$ == null) {$END$}innif ($VAR$ != null) {$END$}mainpublic static void main(String[] args){ $END$}psvmpublic static void main(String[] args){ $END$}outputserrSyste...
2019-07-12 16:10:46 1086
转载 Spring IOC容器启动流程 AbstractApplicationContext#refresh()方法源码分析
文章目录Spring Bean声明周期流程图AbstractApplicationContext#refresh()AbstractApplicationContext#prepareRefresh()AbstractApplicationContext#getEnvironment()refresh()方法是Spring容器启动的核心中的核心,逻辑也是异常的复杂,因为准备分两篇文章来叙述他的过...
2019-05-28 17:31:54 447
转载 官方CSDN-markdown语法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-05-26 12:44:52 134
转载 后置处理器BeanPostProcessor
1. 注解bean之指定init-method/destroy-method2. 实现InitializingBean/DisposableBean接口3. @PostConstruct和@PreDestroy注解4. 统一前后置处理器BeanPostProcessor
2019-05-23 11:44:54 631
原创 Spring Framework 5.0.0.M4中文文档第3章
文章目录Part II. 核心技术3. IoC容器3.2 容器概述3.2.1 配置元数据3.2.2 实例化容器3.2.3 使用容器3.3 Bean概述3.3.1 命名bean3.3.2 实例化bean3.4 依赖3.4.1 依赖注入3.4.2 依赖和配置的种种细节3.4.3 Using depends-on3.4.4 延迟初始化bean3.4.5 自动装配协作者3.4.6 Method injec...
2019-05-19 20:15:22 446
转载 Spring Framework 5.0.0.M4中文文档第1,2章
Spring Framework是一种轻量级的解决方案,是构建你的企业级应用程序的潜在一站式解决方案。 尽管如此,Spring是模块化的,允许你只使用你需要的那些部分,而不必引入其他的。 你可以使用IoC容器,任何Web框架在顶部(只是底层用Spring框架,比如ssh,中间那层用了Spring),但你也可以只使用Hibernate集成代码或JDBC抽象层。 Spring框架支持声明式事务管理,通过RMI或Web服务远程访问你的逻辑,以及用于持久存储数据的各种选项。 它提供了一个全功能的MVC框架,并使你能
2019-05-19 14:46:54 695
转载 @Inject和@Autowired以及@Resource区别
文章目录@Inject@Autowired@Resource三个注解的相异之处总结@Injectjavax.injectJSR330 (Dependency Injection for Java)这是jsr330中的规范,通过AutowiredAnnotationBeanPostProcessor现的依赖注入。@Autowiredorg.springframework.bean....
2019-05-19 14:08:01 309
原创 Spring In Action读书笔记
cdPlayer()方法像sgtPeppers()方法一样,同样使用了@Bean注解,这表明这个方法会创建一个bean实例并将其注册到Spring应用上下文中。所创建的bean ID为cdPlayer,与方法的名字相同。cdPlayer()的方法体与sgtPeppers()稍微有些区别。在这里并没有使用默认的构造器构建实例,而是调用了需要传入CompactDisc对象的构造器来创建CD...
2019-05-09 13:25:40 190
翻译 javassist官方文档翻译
文章目录读写字节码定义一个新类冻结类类搜索路径ClassPool避免内存溢出层叠 ClassPool通过改变类名来定义新类通过重命名冻结类来定义新的类类加载器3.1 CtClass.toClass( ) 方法3.2 Java中的类加载器3.3 使用 javassist.Loader3.4编写类加载器3.5 修改系统类3.6 运行时重载类反射和自定义4.1 在方法的开头/结束插入源代码$0, $1,...
2019-05-05 17:20:27 759
转载 Dubbo
文章目录架构配置参考文献架构节点角色说明Provider暴露服务的服务提供方Consumer调用远程服务的服务消费方Registry服务注册与发现的注册中心Monitor统计服务的调用次数和调用时间的监控中心Container服务运行容器调用关系说明服务容器负责启动,加载,运行服务提供者。服务提供者在启动时,向注册中心注册自己...
2019-05-05 15:26:47 276
原创 Mysql
文章目录mysql体系结构MySQL内存结构SGAPGAMySQL文件结构mysql体系结构由于要讲innodb,所以咱们先看下innodb在mysql中的位置。Connectors:不同语言中与SQL的交互Management Serveices & Utilities: 系统管理和控制工具,例如备份恢复、Mysql复制、集群等Connection Pool: 连接池管理...
2019-05-01 08:52:16 209
转载 排序算法
十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。
2019-04-28 23:13:19 155
转载 Redis
文章目录redis数据结构redis数据结构 – stringsredis数据结构 – listsredis数据结构 – 集合redis数据结构 – 有序集合redis数据结构 – 哈希redis持久化edis持久化 – RDBredis持久化 – AOFredis持久化 – AOF重写redis持久化 – 如何选择RDB和AOFredis主从redis主从 – 同步原理redis的事务处理re...
2019-04-26 11:41:03 531
转载 JVM
文章目录JVM内存结构Java内存模型Java对象模型Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模型和Java对象模型,这就是三个截然不同的概念,但是很多人容易弄混。可以这样说,很多高级开发甚至都搞不不清楚JVM内存结构、Java内存模型和Java对象模型...
2019-04-09 15:18:37 134
转载 Spring模块
文章目录Spring模块Spring模块从上面可以看出Spring主要分成六个模块:Spring核心容器:核心容器是Spring框架的重要组成部分,也可以说是Spring框架的基础。他在整个框架中的作用是负责管理对象的创建,管理,配置等等的操作。其主要包含spring-core,spring-beans,spring-context,spring-expression,spring-c...
2019-04-06 13:30:44 123
转载 Tomcat系统架构
文章目录Tomcat顶层架构Tomcat顶层架构小结:Connector和Container的微妙关系Connector架构分析Container架构分析Container如何处理请求的Tomcat处理请求过程Tomcat顶层架构Tomcat中最顶层的容器是Server,代表着整个服务器,从上图中可以看出,一个Server可以包含至少一个Service,用于具体提供服务。Service主要包...
2019-03-27 17:13:19 246
转载 JUC锁
根据锁的添加到Java中的时间,Java中的锁,可以分为"同步锁"和"JUC包中的锁"。同步锁即通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁。Java 1.0版本中就已经支持同步锁了。同步锁的原理是,对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁。但是,在同一个时间点,该同步锁能且只
2019-02-14 14:19:47 238
转载 JUC原子类
文章目录数据类型AtomicInteger, AtomicLong, AtomicBooleanAtomicIntegerArray, AtomicLongArray, AtomicReferenceArray数据类型根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;数组类型: A...
2019-02-12 16:51:54 705
转载 JAVA多线程基础
线程状态初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。就绪状态的线程在获得...
2019-02-12 14:18:44 172
转载 Spring源码分析-Cache
文章目录缓存简介缓存命中率缓存策略Eviction policyTTL(Time To Live )TTI(Time To Idle)Cache@EnableCaching@CachePut@CacheEvict@Cacheable@CachingCacheManagerRedisCacheManager缓存简介缓存,我的理解是:让数据更接近于使用者;工作机制是:先从缓存中读取数据,如果没有再...
2019-01-16 11:25:02 495
转载 Git知识总览
文章目录基础知识基础知识在本地,包含三个区块:工作区,暂存区,本地仓库,文件无论新建,还是修改的文件都是在工作区,需要使用git add命令把修改的文件加到暂存区,加到暂存区之后,才能使用git commit提交到本地仓库(当然例外情况是使用组合命令git commit –a)如何把本地仓库的代码还原到工作区git reset HEAD – :拉取最近一次提交到版本库的文件到暂存区,并且...
2019-01-07 17:45:22 123
转载 JUC线程池
Callable 是一个接口,它只包含一个call()方法。Callable是一个返回结果并且可能抛出异常的任务。为了便于理解,我们可以将Callable比作一个Runnable接口,而Callable的call()方法则类似于Runnable的run()方法。
2018-11-30 08:53:09 1091 1
转载 RabbitMQ
简介AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持...
2018-11-21 16:13:09 183
转载 SpringMVC源码分析-DispatcherServlet
DispatcherServlet 处理流程在整个 Spring MVC 框架中,DispatcherServlet 处于核心位置,它负责协调和组织不同组件完成请求处理并返回响应工作。在看 DispatcherServlet 类之前,我们先来看一下请求处理的大致流程:Tomcat 启动,对 DispatcherServlet 进行实例化,然后调用它的 init() 方法进行初始化,在这个初始...
2018-11-14 15:10:56 592
转载 Spring源码分析-MessageSource
文章目录基础知识Locale本地化工具类ResourceBoundleMessageFormatMessageSource简介类结构HierarchicalMessageSourceResourceBundleMessageSourceReloadableResourceBundleMessageSource容器级的国际化信息资源假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据...
2018-11-14 14:30:01 14609 2
转载 Spring Boot 源码解析-SpringApplication
@EnableFeignClients(basePackages = "com.sendinfo")@SpringBootApplication@EnableEurekaClient@EnableHystrix@ComponentScan(basePackages = "com.sendinfo&
2018-11-09 11:11:28 219
转载 JAVA基础
Java中存在着两种Random函数:java.lang.Math.Random;调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。java.util.Random下面Random()的两种构造方法:Random():创建一...
2018-11-07 14:23:11 329
转载 Spring源码分析-BeanFactory
简介BeanFactory属于Spring的核心接口,提供了高级IOC的配置机制,BeanFactory是框架的基本设施,面向spring本身,BeanFactory在启动容器时,并不会初始化配置文件中定义的Bean,初始化发生在第一次调用,对于单例的Bean,BeanFactory会缓存在Bean实例,所以在第二次使用时,直接从缓存中获取Bean实例public interface Bean...
2018-10-31 18:13:15 395
转载 Spring源码分析-ApplicationContext
BeanFactory和ApplicationContextSpring通过一个配置文件描述Bean和Bean之间的依赖关系,利用Java反射功能实例化Bean,并建立Bean之间的依赖关系。Spring的IOC容器在完成这些底层工作的基础上,还提供了Bean实例缓存、生命周期管理、Bean实例代理、时间发布、资源装载等高级服务。BeanFactory是Spring框架最核心的接口,它提供了...
2018-10-31 14:25:33 1400
办公自动化源码(使用的技术包括jsp java struts2 sqlserver Hibernate)
2014-04-14
企业人力资源管理源程序(使用的到技术JAVA struts Sqlserver Hibernate Spring ssh)
2014-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人