- 博客(41)
- 收藏
- 关注
转载 震惊了!原来这才是kafka!
简介kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横向...
2019-12-10 11:27:24 259
原创 深入了解JVM之线上问题排查及工具使用(五)
文章目录一、前言二、常用工具和命令三、问题分类以及处理策略1、业务日志2.死锁3.OOM相关4.线程block、线程数暴涨5.gc时间过长四、实例讲解五、参考一、前言 线上问题排查是每一个程序员都应该具备的能力,这一篇文章将从问题分类、常用命令和工具、具体案例分析这几个方面进行说明。二、常用工具和命令jps,JVM Process Status Tool,用来查看基于HotSpot...
2019-12-04 10:24:01 357
转载 【小家java】java8新特性之---全新的日期、时间API(JSR 310规范),附SpringMVC、Mybatis中使用JSR310的正确姿势
相关阅读【小家java】java5新特性(简述十大新特性) 重要一跃【小家java】java6新特性(简述十大新特性) 鸡肋升级【小家java】java7新特性(简述八大新特性) 不温不火【小家java】java8新特性(简述十大新特性) 饱受赞誉【小家java】java9新特性(简述十大新特性) ...
2019-11-20 09:07:54 359
原创 深入了解JVM之内存模型(四)
文章目录一、前言二、问题1、为什么有内存模型?2、内存模型解决了什么问题?又带来了什么问题?3、什么是java内存模型?说一下它的三大特性。4、volatile是什么?有什么用?5、volatile可以保证有序性、可见性、原子性吗?如果可以,是如何保证的?6、volatile的原理是什么?7、java内存模型的有序性靠什么来保证?8、synchronized是什么?有什么用?9、synchroni...
2019-11-15 20:24:44 217
转载 深入了解JVM之类文件结构(三)
本文链接:https://blog.csdn.net/q982151756/article/details/81390...
2019-11-12 20:05:55 310 1
原创 深入了解JVM之垃圾回收(二)
文章目录一、前言二、问题1、哪些内存需要回收?2、在根搜索算法中,什么对象可以成为GC Roots?3、在根搜索算法中,如何确定对象死亡?4、方法区需要回收对象吗?回收什么对象?这个对象需要具备什么条件?5、什么时候触发垃圾回收?6、什么情况下新生代的对象会晋升到老年代?7、为了减少Major GC的触发,JVM做哪些优化?8、垃圾收集算法有哪些?9、垃圾收集器有哪些?各有什么特点?10、如何根据...
2019-11-11 17:54:11 156
原创 深入理解JVM专题目录
文章目录一、前言一、前言 看完了《深入理解Java虚拟机:JVM高级特性与最佳实践》,笔者感到受益匪浅,想把自己的所感所学记录下来,于是有了这个专题。 这是笔者一边看书一边做的思维导图,需要的可以自行下载。...
2019-11-05 08:38:05 323
原创 深入了解JVM之内存区域(一)
文章目录一、概述二、各个区域1.程序计数器2.虚拟机栈3.本地方法栈4.直接内存5.堆6.方法区7.运行时常量池三、版本更新四、面试连环炮一、概述 了解JAVA的内存区域是学习JVM第一步,只有懂得了各个区域的工作原理、服务对象以及其中可能存在的问题,才能为日后的JVM调优、内存溢出排错等问题提供帮助。 根据《虚拟机规范》第二版规定,JVM管理的内存将包含以下几个运行时数据区域:...
2019-11-04 18:08:06 154
原创 为何插入10万数据只需2秒
文章目录一、前言二、问题1、url后面useServerPrepStmts是什么?2、url后面rewriteBatchedStatements是什么?3、这两个参数对语句执行有什么影响?4、这两个参数能带来多大的性能提升?5、psts.addBatch();如果把这一段注释掉,SQL就不会执行了,为什么?三、总结四、疑问五、参考一、前言 为了验证不同SQL在大数据量下的执行性能,需要往...
2019-11-01 16:21:55 951
转载 MySQL 性能优化:8 种常见 SQL 错误用法!
声明:转载自 MySQL 性能优化:8 种常见 SQL 错误用法! 1、LIMIT 语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECT * FROM o...
2019-10-30 09:20:42 120
转载 mysql explain用法和结果的含义
mysql explain用法和结果的含义 转自:http://blog.chinaunix.net/uid-540802-id-3419311.html explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain ...
2019-10-12 15:42:02 354
原创 SpringCloud概括
一、SpringCloud的出现解决了什么问题? 在SpringCloud出现前,也就是微服务发展初期,开发团队在选定微服务架构的组件时会面临很大的考验。首先,团队需要思考选择哪些组件并入到自己的系统中,比如服务治理、分布式配置管理、服务跟踪。其次,团队还需要思考选择哪家公司开发的组件或是自行研发组件。光是服务治理组件,就有阿里巴巴的Dubbo和当当网在此基础上扩展的DubboX、netf...
2019-07-24 21:30:02 166
原创 微服务和单体架构
一、什么是微服务 微服务是系统架构中的一个风格,它的主旨是将一个原本独立的系统拆分多个小型服务,这些服务都在各自的进程中运行。被划分的每一个小型服务都是根据系统中某一项或者某一耦合度高的业务构建起来的,并且每个服务都维护自身的数据、业务开发、自动化测试案例以及独立。由于有了轻量级的通信基础,所以这些微服务可以用不同语言来编写。二、什么是单体架构?有什么优缺点? 在项目中,我们通常...
2019-07-24 16:43:29 1980 1
原创 外部无法连接部署在linux上的MongoDB
文章目录一、问题描述二、解决过程一、问题描述 CentOS7安装了mongoDB,并且成功开启服务,本机上可以访问数据库进行CURD,但是通过java或者mongo数据库管理工具无法连接该数据库。二、解决过程 1、可以确定服务已经开启,所以要确认端口号是否正确 netstat -anp查看端口信息[root@localhost db]# netstat -anpA...
2019-04-26 14:11:04 2573 1
转载 基于Token的WEB后台认证机制
转载自:基于Token的WEB后台认证机制几种常用的认证机制HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,...
2019-04-09 11:23:10 186
原创 IDEA debug热部署配置
文章目录一、前言二、分析问题三、心得一、前言 笔者希望在debug模式下,实现在不重启服务的情况下修改并调试代码,这给开发带来效率上的提升是不言而喻的。但是,笔者按照网上帖子进行以下操作之后,仍不能实现热部署。1、Run-Edit Configuration2、CTRL+SHIFT+A快捷键搜索Register,找到这一项打勾二、分析问题 接着,我对这几个选项进行了测试...
2019-04-04 18:48:15 5432 4
原创 volatile保证可见性的验证
文章目录一、前言二、论证过程三、总结一、前言 java内存模型中的可见性是指,当一个线程修改了共享变量的值后,其他线程可以立马知道这个修改后的值。在《Java并发编程:volatile关键字解析》中有这么一段话: 对于可见性,Java提供了volatile关键字来保证可见性。 当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,它...
2019-03-27 15:42:23 3930 7
原创 大话设计模式(一)——简单工厂模式
文章目录一、前言二、概述三、演变过程四、优缺点及使用场景一、前言 前段时间阅读了程杰的《大话设计模式》一书,在不缺乏趣味的同时,学习了如何思考设计模式。现在,笔者打算开启一个设计模式专栏,把自己的所感所悟写下来,以供日后重温。如果想成为一名优秀的软件设计师,了解优秀软件设计的演变过程比学习优秀软件本身更有价值,因为设计的演变过程中蕴含大智慧。 正如本书作者所说,学习设计模式...
2019-02-15 16:53:43 530
原创 揭开红黑树源码神秘面纱(三)
文章目录一、红黑树简介1.红黑树是什么2.红黑树有什么特点3.红黑树有什么缺点二、红黑树源码1.红黑树结构2.红黑树结构三、额外知识点1.二叉查找树BST、红黑树、平衡二叉树AVL的区别和联系如有纰漏,敬请指正,笔者虚心接受。一、红黑树简介1.红黑树是什么 之前阅读HashMap源码的时候,发现当链表长度大于8时会自动转化成红黑树。那时就埋下了一个种子,想要弄清楚红黑树到底是什么,于是...
2019-02-12 14:35:39 932
原创 揭开HashTable源码神秘面纱(二)
文章目录一、Hashtable简介1.Hashtable是什么2.Hashtable有什么特点3.Hashtable有什么缺点二、Hashtable源码1.Hashtable结构2.Hashtable的初始化3.put方法4.get方法5.resize方法三、额外知识点1.HashMap和Hashtable有什么区别?(1)HashMap继承AbstractMap,而Hashtable继承Dict...
2018-12-26 21:03:43 176
原创 揭开HashMap源码神秘面纱(一)
文章目录一、HashMap简介1.HashMap是什么2.HashMap有什么特点3.HashMap有什么缺点4.HashMap的适用场景二、HashMap源码1.HashMap结构2.HashMap的初始化3.put方法4.get方法5.resize方法6.hashCode方法三、额外知识点1.重写hashCode方法一定需要重写equals方法吗?2.为什么HashMap迭代器是快速失败的?如...
2018-12-24 17:42:05 287
原创 为什么HashMap迭代器是快速失败的?如何实现的?
HashMap<String, String> table = new HashMap<String, String>();table.put("a", "aa");table.put("b", "dd");table.put("c"
2018-12-18 15:11:58 1596
原创 《SpringBoot框架开发技术整合》笔记(二)
文章目录前言第五章 SpringBoot配置全局的异常捕获参考前言 笔者近期在慕课网上学习了《Springboot框架开发技术整合》一系列课程,收益颇丰,于是结合笔记写下此文以作总结归纳。如有不当之处,敬请评论指出,笔者虚心接受。第五章 SpringBoot配置全局的异常捕获 因为SpringBoot自带的异常机制返回出来的页面很丑(如下图),所以需要自定义一个全局的异常捕获。...
2018-11-05 21:03:05 179
转载 java中的file.encoding属性到底由什么决定?
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u010234516/article/details/52842170 首先先上一段代码:public class PropertiesTest { public st...
2018-10-31 18:49:00 311
原创 《SpringBoot框架开发技术整合》笔记(一)
文章目录前言构建简单WEB项目 1. 通过SpringBoot官网的QuickStart构建一个项目。[快速构建SpringBoot项目](https://start.spring.io/) 2.前言 笔者近期在慕课网上学习了《Springboot框架开发技术整合》一系列课程,收益颇丰,于是结合笔记写下此文以作总结归纳。如有不当之处,敬请评论指出,笔者虚心接受。构建简单W...
2018-10-31 18:42:38 415
原创 Springboot总体认知
一、是什么? Springboot是基于Spring的全新框架,目的是简化spring应用的搭建和开发过程。二、为什么会出现 在Springboot出现以前,构建一个基础的Spring框架需要以下步骤:创建一个Java web项目手动下载或通过maven引入第三方jar包配置web.xml(DispatcherServlet、encodingFilter字符集过...
2018-10-30 17:26:39 330
原创 SpringBoot事务详解
一、定义 事务(transaction)是指业务逻辑上对数据库进行的一系列持久化操作,要么全部成功,要么全部失败。二、特性和实现 1、事务的四个基本性质(ACID) 1)原子性(Atomicity) 事务的原子性指事务是一个不可分割的工作单位,这组操作要么全部执行,要么全部不发生。 就拿银行转账来说,原子性指的是从A账户...
2018-05-25 16:27:26 14933 1
转载 解决fastjson内存对象重复/循环引用json错误
什么是重复/循环引用简单说,重复引用就是一个集合/对象中的多个元素/属性同时引用同一对象,循环引用就是集合/对象中的多个元素/属性存在相互引用导致循环。举例说明重复引用[html] view plain copyList<Object> list = new ArrayList<>(); Object obj = new Object(); list.add(obj);...
2018-03-28 16:51:45 880
原创 被微软的UTF-8 BOM编码坑了
一、问题描述 今天用git拉去代码时发现有的文件会出现乱码,但同事拉取下来却没有出现问题。二、错误原因分析 在这件事上,我和同事的唯一区别就是所用的操作系统不同,我用的是mac,他用的是window。同一个文件在不同操作系统的表现不同,很有可能是采用了window支持但mac不支持的编码格式。 紧接着,我查看了出问题的文件的编码格式,果不其然,它并不是我们平常使用的UTF-8,而...
2018-03-28 11:41:24 4253 1
原创 项目工程有错误,但没有提示
问题描述 今天使用eclipse时遇到一个问题,maven项目工程名有红色的叉叉,但是项目里没有任何的编译错误。解决过程 1、寻找错误提示 在eclipse主界面,依次点击Window - Show Views - Problems,打开Problems视图就可以看到提示了。错误原因是The project was not built due to "Could not rea...
2018-03-05 18:33:24 649
转载 Mybatis实战教程
MyBatis目录(?)[-]mybatis实战教程mybatis in action之一开发环境搭建mybatis实战教程mybatis in action之二以接口的方式编程mybatis实战教程mybatis in action之三实现数据的增删改查mybatis实战教程mybatis in action之四实现关联数据的查询mybatis实战教程mybatis in
2017-08-17 19:50:37 298
原创 搭建SSH框架遇到的问题汇总
笔者在搭建SSH框架时遇到了形形色色的问题,特写一篇博文以供日后学习。一、java.io.EOFExceptionUnable to process Jar entry [javassist/util/proxy/SecurityActions$2.class] from Jar [jar:file:/G:/eclipse_Workspace/.metadata/.plugins/org.
2017-08-09 20:11:58 558
转载 详细解析Java中抽象类和接口的区别
2007-09-28 12:17 作者: doublel http://dev.yesky.com/436/7581936.shtml在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有
2017-03-23 19:21:51 200
原创 Ajax详解
ajax简介AJAX即“Asynchronous JavaScript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax不是一种新的编程语言,而是使用现有标准的新方法。AJAX可以在不重新加载整个页面的情况下,与服务器交换数据。这种异步交互的方式,使用户单击后,不必刷新页面也能获取新数据。使用Ajax,用户可以创建接近本地桌面应用的直
2017-03-19 13:38:41 270
转载 MAP的四种遍历方式
1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 5 public class TestMap { 6 public static void main(String[] args) { 7 Map map = new HashMap(); 8
2017-03-11 20:35:24 254
原创 Mysql常用语句
经过几次面试,发现自己对数据库管理工具有着不小的依赖,优秀的程序员应该学会用DOS命令行操作数据库 ,比如开启数据库服务、建立新用户、增删改查数据。根据MYSQL常用语句这篇文章,笔者逐字逐句地验证了其真实性,并对其中略有不妥的地方做出了修改与补充,最终整理出了这篇《MYSQL常用语句》。mysql教程■在DOS命令行启动MYSQL服务:net start mysql■在DOS
2017-03-11 14:49:01 263
原创 事务
一、什么是事务?事务是作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务必须服从ISO/IEC(国际电工委员会)制定的ACID原则。ACID是atomicity原子性、consistency一致性、isolation隔离性和durability持久性的简称。原子性:如果全部事务执行成功,所有的数据库操作执行成功,数据库状态发生改变;如果任何一个子事务执行失败,
2017-03-08 14:35:19 234
原创 Collection和Collections的区别
一、CollectionCollection是集合类的顶级接口,其派生了两个子接口Set和List:1)Set:不可重复且无序2)List:可重复且有序 List有两个重要的实现类,ArrayList和LinkedList。ArrayList:List:可重复且有序
2017-03-06 15:55:08 584
原创 java应届生面试总结
作为一名应届毕业生,两个星期之内面试了十几家企业,我把所听所闻所想梳理出来与大家分享。一、简历是敲门砖,决定了你是否有机会面试。 1)外观上相对美观。HR一天看几十份简历,难免会产生视觉疲劳,如果这个时候出现了一份好看的简历,效果自然不言而喻。 2)多用专业术语,不会写的可以参考网上的优秀模板,多看多学。 3)一定要用项目经验,并且你要对这些项目很熟悉。因为面试基本上是围绕你
2017-03-02 20:13:41 10156 8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人