- 博客(19)
- 收藏
- 关注
原创 【JVM学习】Java内存管理二
2.HotSpot对象探秘2.1 对象的创建过程2.2 对象的内存布局2.3 对象的访问定位3.OOM异常3.1 Java堆异常3.2 虚拟机栈和本地方法栈溢出3.3 方法区和运行时常量池溢出3.4 直接内存溢出4.总结
2022-03-22 01:16:25 1153
原创 【JVM学习】Java内存管理一
概述1.运行时数据区1.1 程序计数器1.2 Java虚拟机栈1.3 本地方法栈1.4 Java堆1.5 方法区1.6 运行时常亮池1.7 直接内存2.HotSpot对象探秘2.1 对象的创建过程2.2 对象的内存布局2.3 对象的访问定位3.OOM异常3.1 Java堆异常3.2 虚拟机栈和本地方法栈溢出3.3 方法区和运行时常量池溢出3.4 直接内存溢出4.总结...
2022-03-06 16:54:44 688
原创 mybatis二级缓存部分源码阅读笔记
mybatis二级缓存部分源码阅读笔记:DefaultSqlSession#selectOne:单行记录查询#selectList:查询列表返回第一行记录CachingExecutor#query:从mappedStatement中获取缓存对象cache,如果缓存对象为空(表示该statement不支持二级缓存),则直接查询数据库;如果不为空,则从当前执行器的成员属性Transacti...
2021-12-19 21:07:57 134
原创 Spring学习 - Bean生命周期
背景:谈到Spring,最先想到的自然是SpringFrameWork,即Spring框架。而框架最为核心的内容,其实就是一个Bean容器。基于该容器之上,才有了context、aop、web等等其它模块的内容,所以搞清楚Bean容器的工作流程是非常有必要的。因此本文将结合自身的学习和理解,来谈一谈spring容器中Bean完整的生命周期是怎样的。1. 创建前准备1.1 BeanDefinition解析流程在了解Bean的创建工作之前,我们需要先了解一下BeanDefinition。在.
2020-12-06 23:22:07 119
原创 Eureka学习之客户端源码阅读笔记
前提说明,本文跟踪的Eureka版本信息为:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <version>Hoxton.SR8</version></dependency>
2020-11-15 23:22:40 217
原创 Eureka学习
1.什么是EurekaEureka是由Netflix公司开发,基于 REST 服务的服务发现框架(也即服务注册中心)。SpringCloud已将其内化,集成在其子项目spring-cloud-netflix 中。因此,我们通常用到的eureka也都是springcloud的中的eureka。2.Eureka与Zookeeper的区别提到Eureka,通常也会想到Zookeeper,他们都可以充当服务中心,那么它们有什么区别呢?它们的区别主要体现,在对于 CAP 原则的支持的不同。.
2020-11-15 17:04:15 280
原创 SQL优化小结
背景面试中我们常被问到,如何进行sql优化,于是我们就开始百度怎么优化呢?度娘告诉我们(此处省略各种优化方法)..., 然后过段时间就忘干净了。后来反思了下为什么记不住,因为不理解,因为我完全不知道优化背后的原因是啥。因此,在优化之前,我们很有必要知道一个概念:执行计划。查看执行计划以MySQL为例。在执行一条查询语句时,除了比较执行时间来衡量执行的效率以外,那就是分析该查询s...
2019-01-04 17:23:38 180
原创 JQuery delegate的使用心得
delegate()函数用于为指定元素的一个或多个事件绑定事件处理函数。事实上,绑定事件类似的方法同样还有on()函数。那delegate()有什么特殊的地方呢?语法首先来看下其语法:$(selector).delegate(childSelector,event,data,function)其中data是可选的,规定传递到函数的额外数据。demo下面看个例子$...
2018-11-08 16:00:03 562
转载 JVM内存参数设置
JVM内存参数设置 -Xms1024m 初始内存,指定JVM的最小heap大小。高并发情况下,建议此值设置与-Xmx相同,避免每次垃圾回收完成后JVM重新分配内存,也可以防止内存收缩/突然增大带来的性能影响。 –Xmx3072m 最大内存,指定JVM的最大heap大小。JVM中最大堆大小有三方面限制:操作系统(32b还是64...
2018-10-25 14:02:09 208
原创 Redis主从配置
Redis是一个Nosql型数据库,以K-V形式进行数据存储,支持持久化、主从同步、集群等。并且其提供的客户端也有很多,如JAVA语言的Jedis,Go的Go-Redis等。这里主要为大家介绍一下Redis的主从配置,以及本人在部署工程中遇到过的问题。1.安装redis这里就掠过安装步骤,大家可以参考以下链接进行安装https://blog.csdn.net/x8826054/ar...
2018-08-18 19:20:37 187
原创 Redis安装及其客户端使用
1.安装1.1 下载安装包首先进入以下地址,下载安装包http://download.redis.io/releases/如果有外网环境可输入以下命令进行下载:wget http://download.redis.io/releases/redis-3.2.1.tar.gz1.2 解压解压下载好的压缩包文件:tar -zxvf redis-3.2.1.tar.g...
2018-08-18 13:03:57 2456
原创 struts2响应JSON数据遇到的问题
今天做了一个原以为很简单的异步查询功能,结果折腾了很久才发现问题,这里做一下记录。公司的后管平台,前端框架采用的struts2,要修改点功能,其中涉及到一个异步请求。问题如下:js发起ajax异步请求到后端,后台将一个List集合以JSON形式响应,断点跟代码后台一切正常,但是响应到前端时直接返回了定义好error页面。即下图中映射的error.jsp并且后台也没有任何错误日志...
2018-08-17 09:09:34 596
原创 浅谈JVM
作为一名java工程师,对于JVM即Java虚拟机还是很有必要作一定的了解,无论是出于解决问题的角度,还是为了性能需要。接下来,总结一下个人对于JVM的一些理解。谈到JVM,首先想到的就是JDK,他们的关系到底如何呢?JDK,java开发工具包,我们知道要运行java代码必须要先安装个jdk,这是为什么呢?因为java代码需要一个运行环境即JRE,而JRE又由JVM和一些java的核心...
2018-08-05 12:58:54 272
原创 socket通信,简单实现案例,以及遇到的问题
之前对socket的理解一直停留在应用层次,即只是在项目中使用,而对其具体通信流程的理解是很模糊的。现在好好的来归纳归纳这么几个问题:1.什么是socket?2.socket是怎样进行通信的?3.具体到代码中,socket又如何实现?1、什么是Socket?socket,网上很多给的定义是“套接字”,对于我这种小白来说...what?什么鬼?更难理解好吗。后来看到一名网...
2018-08-04 13:27:30 429
原创 Oracle 导入/出数据泵总结
最近在做一些数据库相关工作,需要频繁用到一些数据导入/出的操作,在这简单总结一下: 导入/出数据时,存在两种方式:1. imp/exp 2.impdp/expdp两种推荐使用第二种,即impdp/expdp方式,原因在于其导入/出效率较于第一种高太多。 需要注意的是,在导入/出的时候,两种方式操作的文件格式是不同的。因此切记不要用impdp命令来导入exp命令导出的dmp...
2018-07-30 20:49:09 589
原创 ORA-00020:maximum number of processes (150) exceeded 问题的一点心得
首先问题出现背景:在开发过程中,测试环境中服务器日志突然报错获取不到数据库连接,通过命令select count(1) from v$session;查询数据库的会话连接数,发现150条,而数据库默认的会话连接就是150,也就是说会话已经满了!后来百度查阅文章https://blog.csdn.net/itxiaohei323/article/details/8431789查...
2018-07-19 20:50:32 2573 2
原创 Freemarker如何遍历non-String型key的map集合
本文将介绍如何使用Freemarker遍历non-String型key的map,即遍历key值不是String的map集合。1.注入bean<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name...
2018-07-11 17:57:26 845
原创 使用nginx代理socket端口
本文将介绍如何使用nginx代理socket端口。环境准备:该功能需要使用nginx的 ngx_stream_core_module 模块,且该模块在安装时并不是默认构建的。因此在执行 ./configure 时需要加上参数 --with-stream安装流程:1.下载nginx安装包地址:http://nginx.org/download/或wget http:...
2018-07-11 17:17:03 23269
原创 nginx 安装sticky模块遇到的问题
目的: 在nginx基础功能上添加sticky第三方模块。1.下载sticky包cd ~mkdir tools && cd toolswget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz2.解压tar -zxvf nginx-goo...
2018-07-08 18:11:28 4862 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人