- 博客(122)
- 资源 (5)
- 收藏
- 关注
原创 深入理解Java虚拟机-笔记(一)
基本概念:程序计数器(Program Counter Register)是一款较小的内存空间,是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变计数器的值来选取下一条需要执行的字节码指令,他是程序控制流的指示器。每条线程都有一个独立的PCR,各条线程之间计数器互不影响,独立存储,属于线程私有的内存。Java虚拟机栈(Java Virtual Machine Stack):线程私有,描述Java方法执行的线程内存模型,每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧(Stack
2020-05-12 14:35:33 249
转载 AtomicReferenceFieldUpdater笔记
详见:AtomicReferenceFieldUpdater源码阅读笔记作者:凌霄~来源:CSDN原文:https://blog.csdn.net/pengjx2014/article/details/82710186
2019-06-13 15:57:20 260
转载 Netty入门与实战:仿写微信IM即时通讯系统
转载自:Netty入门与实战:仿写微信IM即时通讯系统Netty是互联网中间件领域使用最广泛最核心的网络通信框架,几乎所有互联网中间件或者大数据领域均离不开Netty,掌握Netty是作为初中级工程师迈向高级工程师最重要的技能之一.Netty入门与实战:仿写微信IM即时通讯系统推荐掘金小册Netty入门与实战:仿写微信IM即时通讯系统1.仿微信IM系统简介(1)客户端使用Nett...
2019-05-16 15:48:20 2929 3
转载 RocketMQ——顺序消息
转载自:RocketMQ——顺序消息消息有序指的是可以按照消息的发送顺序来消费。RocketMQ可以严格的保证消息有序。但这个顺序,不是全局顺序,只是分区(queue)顺序。要全局顺序只能一个分区。之所以出现你这个场景看起来不是顺序的,是因为发送消息的时候,消息发送默认是会采用轮询的方式发送到不通的queue(分区)。如图:而消费端消费的时候,是会分配到多个queue的,多个queu...
2019-05-16 15:04:11 332
转载 一致性哈希算法原理
转载自:一致性哈希算法原理一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过m...
2019-03-13 22:54:58 146
转载 IO多路复用之select、poll、epoll详解
转载自:IO多路复用之select、poll、epoll详解目前支持I/O多路复用的系统调用有select,pselect,poll,epoll,I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,pselect,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己...
2019-03-06 22:54:43 411
转载 Java程序编译和运行的过程
转载自:Java程序编译和运行的过程 Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode) 2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( ...
2018-08-18 17:31:28 281
转载 Java 之 Serializable 序列化和反序列化
转载自:Java 之 Serializable 序列化和反序列化 遇到这个 Java Serializable 序列化这个接口,我们可能会有如下的问题a,什么叫序列化和反序列化b,作用。为啥要实现这个 Serializable 接口,也就是为啥要序列化c,serialVersionUID 这个的值到底是在怎么设置的,有什么用。有的是1L,有的是一长串数字,迷惑ing。我刚刚见到这个关...
2018-08-18 16:56:16 432
转载 常见的4种线程池
转载自:线程池一、线程池的好处 线程池是啥子,干啥使它呀,老子线程使得好好的,非得多次一举,哈哈,想必来这里看这篇文章的都对线程池有点了解。那么我来整理整理线程池的好处吧。1、线程池的重用 线程的创建和销毁的开销是巨大的,而通过线程池的重用大大减少了这些不必要的开销,当然既然少了这么多消费内存的开销,其线程执行速度也是突飞猛进的提升。2、控制线程池的...
2018-08-12 23:00:51 7844
转载 annotation(@Retention@Target)详解
转载自:annotation(@Retention@Target)详解一、注解:深入理解JAVA注解 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。1、元注解(meta-annotation): 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotat...
2018-08-09 22:58:57 266
转载 缓存三大问题及解决方案
转载自:缓存三大问题及解决方案1. 缓存来由随着互联网系统发展的逐步完善,提高系统的qps,目前的绝大部分系统都增加了缓存机制从而避免请求过多的直接与数据库操作从而造成系统瓶颈,极大的提升了用户体验和系统稳定性。2. 缓存问题虽然使用缓存给系统带来了一定的质的提升,但同时也带来了一些需要注意的问题。2.1 缓存穿透缓存穿透是指查询一个一定不存在的数据,因为缓存中也无该数据的...
2018-08-07 23:43:06 2327
转载 Tomcat系统架构
转载自:四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列!俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要!一、To...
2018-08-07 23:16:27 121
转载 Redis 总结精讲
转载自:Redis 总结精讲本文围绕以下几点进行阐述1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4、redis的数据类型,以及每种数据类型的使用场景5、redis的过期策略以及内存淘汰机制6、redis和数据库双写一致性问题7、如何应对缓存穿透和缓存雪崩问题8、如何解决redis的并发竞争问题 正文 1、为什么使用r...
2018-07-31 22:55:05 154
转载 Java多线程-线程池ThreadPoolExecutor构造方法和规则
转载自:Java多线程-线程池ThreadPoolExecutor构造方法和规则为什么用线程池博客地址 http://blog.csdn.net/qq_25806863原文地址 http://blog.csdn.net/qq_25806863/article/details/71126867有时候,系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新线程的话,系统就要...
2018-07-18 23:31:47 120
转载 Postman 使用方法详解
转载自:Postman 使用方法详解一、Postman背景介绍用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以...
2018-07-03 22:28:27 1732
转载 CA证书
转载自:CA证书1. CA证书理解?CA证书的作用?CA证书顾名思义就是由CA(Certification Authority)机构发布的数字证书。要对CA证书完全理解及其作用,首先要理解SSL。SSL(security sockets layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议。SSL3.0版本以后又被称为TLS。SSL位于TCP与各应用层之间,是操作系统向外提供的A...
2018-06-24 17:14:26 527
转载 redis主从复制和集群实现原理
转载自:redis主从复制和集群实现原理redis主从复制redis主从配置比较简单,基本就是在从节点配置文件加上:slaveof 192.168.33.130 6379主要是通过master server持久化的rdb文件实现的。master server 先dump出内存快照文件,然后将rdb文件传给slave server,slave server 根据rdb文件重建内存表。redis复制过...
2018-06-24 16:19:39 172
转载 Maven详解之聚合与继承
转载自:Maven详解之聚合与继承说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现。一、为什么要聚合?随着技术的飞速发展和各类用户对软件的要求越来越高,软件本身也变得越来越复杂,然后软件设计人员开始采用各种方式进行开发,于是就有了我们的分层架构、分模块开发,来提高代码的清晰和重用。针对于这一特性,maven也给予了相应的...
2018-05-28 09:48:41 169
转载 CSRF Token介绍与应对策略
转载自: CSRF Token介绍与应对策略原文地址:点击打开链接最近模拟登陆,发现CsrfToken是个很麻烦的问题,所以看了一下CsrfToken的一些介绍。发现这篇文章写得很不错,所以转载过来。CSRF 背景与介绍CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一。其他安全隐患,比如 ...
2018-04-28 15:29:58 461
转载 guava快速入门
转载自:guava快速入门Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O...
2018-04-26 09:53:48 167
转载 dubbo学习
本文转载自:Dubbo学习小记前言周一入职的新公司,到了公司第一件事自然是要熟悉新公司使用的各种技术,搭建本地的环境。熟悉新公司技术的过程中,首先就是Maven,这个前面已经写过文章了,然后就是Dubbo----公司的服务都是通过Dubbo来治理的。其实之前我就对SOA、RPC等分布式服务的概念有所了解,Dubbo也多多少少知道一些,不过能亲身使用那是再好不过的了。此文就对我的Dubbo学习做一个...
2018-04-14 23:55:54 160
转载 Spring中bean生命周期
转载自:MOBIN-F的回答过程见下:1.Spring对Bean进行实例化(相当于程序中的new Xx());2.Spring将值和Bean的引用注入进Bean对应的属性中;(按照Spring上下文对实例化的Bean进行配置,也就是IOC注入)3.如果Bean实现了BeanNameAware接口,Spring将Bean的ID传递给setBeanName()方法(实现BeanNameAware主要是...
2018-03-21 23:16:53 150
原创 Spring的IOC有何好处?
最近被问到一个问题,控制反转,将控制权交给Spring到底有什么好处?看到一个不错的解释,见下。参考自:Sevenvidia的回答就是作者:Sevenvidia链接:https://www.zhihu.com/question/23277575/answer/169698662来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要了解控制反转( Inversion...
2018-03-20 23:59:11 1696
原创 mark
1.Java并发编程:volatile关键字解析2.Java transient关键字使用小记3.Java:传值还是传引用?4.在java中String类为什么要设计成final?5. Java 枚举(enum) 详解7种常见的用法6. 青蛙跳台阶问题7.Java并发编程之CAS...
2018-03-18 00:24:25 211
原创 ActiveMQ收藏博文整理
1.ActiveMQ消息处理机制-Queue方式2.ActiveMQ消息处理机制-Topic方式3. ActiveMQ消息多线程并发处理4.Activemq构建高并发、高可用的大规模消息系统5. Spring与ActiveMQ整合(多线程并发发送与接收消息)...
2018-03-15 23:57:36 201
转载 MySQL存储过程中使用动态行转列
转载自:MySQL存储过程中使用动态行转列数据表结构这里我用一个比较简单的例子来说明,也是行转列的经典例子,就是学生的成绩三张表:学生表、课程表、成绩表学生表就简单一点,学生学号、学生姓名两个字段CREATE TABLE `student` ( `stuid` VARCHAR(16) NOT NULL COMMENT '学号', `stunm` VARCHAR(20) NOT NU...
2018-03-15 15:24:40 213
转载 JDBC详解
转载自:JDBC详解一、相关概念1.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。2.数据库驱动 我们安装好数据库之后,我们...
2018-03-15 14:53:42 136
转载 脏读、幻读、不可重复读和丢失更新
转载自:脏读、幻读、不可重复读和丢失更新 锁就是防止其他事务访问指定资源的手段。锁是实现并发控制的主要方法,是多个用户能够同时操纵同一个数据库中的数据而不发生数据不一致现象的重要保障。 一般来说,锁可以防止脏读、不可重复读和幻读。1.脏读(Dirty Read)——一个事务读取到了另外一个事务没有提交的数据。详细解释:当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这...
2018-03-14 00:06:14 286
原创 mark
1.Struts2工作原理解析 Struts2架构解析2.深入解析SpringMVC的工作原理 SpringMVC工作原理概述3.SpringMVC与Struts2区别与比较总结 Spring MVC原理及配置详解4.Linux指令5.【数据结构】链表的原理及java实现6.排序 数据结构 面试7.HTTP Mysql Java Web learning8.Java过滤器与Spr...
2018-03-09 22:35:22 166
原创 maven下载私服上的第三方jar包失败
最近遇到一个问题,项目开发过程中需要用到第三方jar包,放在了私服的3rd party库中,然后在pom.xml中配置依赖,却怎么都下不下来,代码和pom确定是最新的,同事的都没事儿,看了几篇博客后,按要求重新配置setting.xml和pom.xml,还是无果。 后来看到一个小姐姐的博文,提到下载不到的jar包对应的本地仓库路径下都有.lastUpdates文件,便去查看我本地路径...
2018-03-07 14:57:56 4693 4
转载 深入解析Java反射(1) - 基础
转载自:深入解析Java反射(1) - 基础因为本人最近正筹备Samsara框架的开发,而其中的IOC部分非常依靠反射,因此趁这个机会来总结一下关于Java反射的一些知识。本篇为基本篇,基于JDK 1.8。一、回顾:什么是反射?反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。Oracle官方对反射的解释是...
2018-03-05 17:45:45 271
转载 JAVA 对象引用,以及对象赋值
转载自:JAVA 对象引用,以及对象赋值Java对象及其引用关于对象与引用之间的一些基本概念。 初学Java时,在很长一段时间里,总觉得基本概念很模糊。后来才知道,在许多Java书中,把对象和对象的引用混为一谈。可是,如果我分不清对象与对象引用, 那实在没法很好地理解下面的面向对象技术。把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路。 为便于说...
2018-03-04 18:28:57 176
转载 JVM(Java虚拟机)优化大全和案例实战
转载自:JVM(Java虚拟机)优化大全和案例实战堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old...
2018-02-28 10:22:37 186
转载 MySQL中char与varchar区别,varchar最大长度是多少?
转载自:MySQL中char与varchar区别,varchar最大长度是多少?一、首先来说下字符与字节的区别:字符与字节它们完全不是一个位面的概念,所以两者之间没有“区别”这一说法。在不同编码里,字符和字节的对应关系是不同的。一般来说,半角英文状态下一个字母或数字(称之为字符)占用一个字节,一个汉字用两个字节表示。在不同的编码方式下一个字符占的字节数是不同的,所以两者是不能划等号的。1个字节(B...
2018-02-26 13:47:13 7252
转载 Map.Entry 类使用简介
转载自:Map.Entry 类使用简介你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(iterator.hasNext( )...
2018-02-23 17:17:36 273
转载 深入浅出JMS--Spring和ActiveMQ整合的完整实例
转载自:深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例第一篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了JMS的两种消息模型:点对点和发布订阅模型,以及消息被消费的两个方式:同步和异步,JMS编程模型的对象,最后说了JMS的优点。第二篇博文深入浅出JMS(二)–ActiveMQ简单介绍以及安装,我们介绍了消息中间件ActiveMQ,安装,启动,以及优缺点。第三篇博文深...
2018-02-22 16:29:35 224
转载 serialVersionUID作用
转载自:serialVersionUID作用serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出
2018-01-31 11:24:08 204
转载 理解Java中字符流与字节流的区别
转载自:理解Java中字符流与字节流的区别1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流。 2. 字节流 Java中的字节
2018-01-16 15:12:43 229
GeoJson的生成与解析所需jar包
2017-12-04
postgresql9.2odbc数据源、sqlite3相关资源
2017-07-17
HibernateSpatial4.3+postgresql使用时所用jar包
2017-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人