12 achuo

尚未进行身份认证

我要认证

IT码农,技术菜鸟,十年经验,技术渣渣

等级
TA的排名 6k+

jstack日志深入理解

在分析线上问题时常使用到jstack <PID>命令将当时Java应用程序的线程堆栈dump出来。面对jstack 日志,我们如何查看?首先要清楚线程的状态线程的状态有:new、runnable、running、waiting、timed_waiting、blocked、dead线程状态变迁图:各状态说明:New: 当线程对象创建时存在的状态,此时线程不可能执行;R...

2020-04-22 21:16:11

Spring原理与源码分析系列(七)- Spring AOP实现过程与实战

二、Spring AOP1、什么是Spring AOPSpring AOP是Spring核心框架的重要组成部分,采用Java作为AOP的实现语言。与AspectJ实现AOP方式不同之处在于,Spring AOP仅支持方法级别的拦截。2、Spring AOP的组成Spring AOP中主要包括:Joinpoint、Pointcut、Advice、Aspect,下面一一介绍。(1)Joi...

2020-04-19 00:11:25

IntelliJ IDEA提升效率开发插件必备

工欲善其事,必先利其器,好的工具可以提升我们的开发效率,下面介绍几款个人觉得比较好的编辑器插件,不仅炫酷更重要可以提高你的工作效率。本文是作者辛苦整理的16款插件,每个都是超级实用的,不好不介绍,相信体验过后才知道它的好。Activate-power-mode pojo-to-json SequenceDiagram Free Mybatis plugin Key promoter...

2020-02-26 11:49:47

JAVA随机生成姓名、邮箱、IP、MAC地址、手机号、经纬度以及身份证号等工具类

今天给大家分享一个比较好玩的东西估计纯代码。业务场景是这个样子的大Boss:KingYiFan去给我生成50W条用户数据,投资人要看。数据看起来不能那么假,我说爬虫爬可以不,我不管你自己去想想办法。臣妾做不到啊。这也太难了吧。怎么办。。突然辞职在脑子里打转。看了看钱包,呵呵一笑。我能做出来。。我拿出来我珍藏多年的绝世代码。我本想着可以用爬虫解决的,可是我爬虫技术太low。有时间咱们一起学...

2020-02-20 17:06:46

面试官:生产环境碰到系统CPU飙高和频繁GC,你要怎么排查?

处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导出jstack和内存信息,...

2019-09-03 10:11:48

索引失效的情况有哪些?索引何时会失效?(全面总结)

虽然你这列上建了索引,查询条件也是索引列,但最终执行计划没有走它的索引。下面是引起这种问题的几个关键点。列与列对比某个表中,有两列(id和c_id)都建了单独索引,下面这种查询条件不会走索引select * from test where id=c_id;这种情况会被认为还不如走全表扫描。存在NULL值条件我们在设计数据库表时,应该尽力避免NULL值出现,如果非要不可避免的...

2019-08-22 10:11:10

Spring mvc+hibernate+freemarker(开源项目)

转发好东西今天我为大家做了一个spring3 MVC的例子,希望能对刚接触spring的朋友有所帮助。该流程属于大型项目的流程,涉及的知识比较希望大家耐心学习。企业级项目实战(带源码升级版本)地址:http://zz563143188.iteye.com/blog/1845469比特币,区块链白皮书,python,java,oracle,mysql,Spring,Hiber...

2019-07-19 10:44:52

Mybatis Generator最完整配置详解

搭项目的时候遇到一点坑,特此转发一下详细的配置详解<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.o...

2019-07-16 10:33:46

Zookeeper的入门

1 Zookeeper的基本概述Zookeeper是一个高性能,开源分布式应用协调的服务,保证分布式系统高效,稳定的运行。它提供了简单原始的功能,分布式应用可以基于它实现更高级 的服务,比如同步,配置管理,集群管理,名空间。如下:如果所有学生都要吃饭,那么一个食堂是不能同时容纳多个班级的学生的,此时,学校的领导机构可以按一定的决策来分配学生的进餐时间,这里学校领导协调机构,就是我们所说的Zo...

2019-04-04 16:46:19

SpringCloud系列七:Hystrix 熔断机制(Hystrix基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)

1、概念:Hystrix 熔断机制2、具体内容所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝会自动烧断,以保护我们的电器, 那么如果换到了程序之中呢?当现在服务的提供方出现了问题之后整个的程序将出现错误的信息显示,而这个时候如果不想出现这样的错误信息,而希望替换为一个错误时的内容。一个服务挂了后续的服务跟着不能用了,这就是雪崩效应对于熔断技...

2019-03-25 15:55:56

Elasticsearch学习,请先看这一篇!

题记:Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识、原理从初学者认知、学习的角度,从以下9个方面进行详细梳理。欢迎讨论……0. 带着问题上路——ES是如何产生的?(1)思考:大规模数据如何检索?如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题:1)用什么数据库好?(mysql、sybase...

2019-02-21 17:28:43

idea 2018注册码(激活码)永久性的。亲测有效

2018.12.05注册码:K03CHKJCFT-eyJsaWNlbnNlSWQiOiJLMDNDSEtKQ0ZUIiwibGljZW5zZWVOYW1lIjoibnNzIDEwMDEiLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiRm9yIGVkdWNhdGlvbmFsIHVz...

2019-02-19 18:10:14

JVM 面试题

1、你知道哪些或者你们线上使⽤什么GC策略?它有什么优势,适⽤于什么场景? 参考 触发JVM进行Full GC的情况及应对策略。 2、Java类加载器包括⼏种?它们之间的⽗⼦关系是怎么样的?双亲委派机制是什么意思?有什么好处?启动Bootstrap类加载、扩展Extension类加载、系统System类加载。父子关系如下:启动类加载器 ,由C++ 实现,没有父类; 扩...

2018-12-13 10:34:02

经典Java面试题汇总及答案解析

面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。下面的章节我们会逐个分析这些特性。封装封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问...

2018-12-13 09:53:30

互联网 Java 工程师进阶知识完全扫盲

好东西就要分享,谢谢这位大神https://github.com/doocs/advanced-java

2018-12-13 09:50:12

使用H2数据库来模拟进行单元测试

背景说明环境说明:Java、Eclipse、Maven、SpringMVC、MyBatis、MySQL、H2。在写DAO层的单元测试时,我们往往会遇到一个问题,测试用例所依赖的数据库数据被修改或删除了,或者在一个新的环境下所依赖的数据库不存在,导致单元测试无法通过,进而构建失败。在这种情况下,使用H2内存数据库来模拟数据库环境是一个很好的解决方案。官网链接如下:http://www.h2datab...

2018-06-08 15:48:27

JAVA 项目中使用 H2 数据库

为什么要使用H2数据库H2数据库是可以嵌入到JAVA项目中的,因为只需要导入一个jar包即可,所以非常的方便。项目中导入H2将H2的jar包放到classpath里即可,我是用的maven,maven的配置如下 <dependency> <groupId>com.h2database</groupId> ...

2018-06-08 15:43:00

Java四种线程池使用

Java 四种线程池的使用https://juejin.im/post/59df0c1af265da432f301c8d1,线程池的作用 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果。 少了浪费了系统资源,多了造成系统拥挤效率不高。 用线程池控制线程数量,其他线程排 队等候。 一个任务执行完毕,再从队列的中取最前面的任务开始执行。 若...

2018-06-08 15:29:02

Redis--优化详解

本片博客,刚开始会讲解一下redis的基本优化,然后会举一些优化示例代码或实例。最后讲解一下,默认启动redis时,所报的一些警示错误。优化的一些建议尽量使用短的key当然在精简的同时,不要完了key的“见名知意”。对于value有些也可精简,比如性别使用0、1。避免使用keys *keys *, 这个命令是阻塞的,即操作执行期间,其它任何命令在你的实例中都无法执行。当redis中key数据量小时...

2018-06-06 20:00:12

Redis 集群部署及踩过的坑

本文目标要在单台机器上搭建Redis集群,方式是通过不同的TCP端口启动多个实例,然后组成集群,同时记录在搭建过程中踩过的坑。安装准备centos版本:6.7redis版本:3.2.3安装方式:源码安装服务器:1台操作步骤此处默认已安装好单台redis,如果不会可以参照《centos上安装redis》 

2018-05-08 14:56:14

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。