随笔 - 684  文章 - 0  评论 - 156  阅读 - 399万
05 2018 档案
Java内存泄漏简单说明
摘要:Java语言的一个关键的优势就是它的内存管理机制。你只管创建对象,Java的垃圾回收器帮你分配以及回收内存。然而,实际的情况并没有那么简单,因为内存泄漏在Java应用程序中还是时有发生的。 下面就解释下什么是内存泄漏,它为什么会发生,以及我们如何阻止它的发生。 1. 什么是内存泄漏? 内存泄漏的定义 阅读全文
posted @ 2018-05-31 07:57 @ 小浩 阅读(279) 评论(0) 推荐(0) 编辑
Rehash死锁的问题
摘要:为什么都说HashMap是线程不安全的呢?它在多线程环境下,又会发生什么情况呢? resize死循环 我们都知道HashMap的初始容量是16,一般来说,当插入数据时,都会检查容量有没有超过设定的thredhold,如果超过容量,就需要增大Hash表的尺寸,但是这样一来,整个Hash表内的元素都需要 阅读全文
posted @ 2018-05-31 07:45 @ 小浩 阅读(1127) 评论(0) 推荐(0) 编辑
Java队列Queue
摘要:上个星期总结了一下synchronized相关的知识,这次将Queue相关的知识总结一下,和朋友们分享。 在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueu 阅读全文
posted @ 2018-05-30 08:17 @ 小浩 阅读(627) 评论(0) 推荐(0) 编辑
B-树和B+树的应用
摘要:1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用。 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树; ⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信 阅读全文
posted @ 2018-05-29 08:37 @ 小浩 阅读(4379) 评论(0) 推荐(1) 编辑
SpringMVC 源码分析
摘要:一个东西用久了,自然就会从仅使用的层面上升到探究其原理的层面,在javaweb中springmvc更是如此,越是优秀的框架,其底层实现代码更是复杂,而在我看来,一个优秀程序猿就相当于一名武林高手,不断进阶武功秘籍,越是高深莫测的功夫,越是要探究其原理,而springmvc就是一本十分深奥的武功秘籍。 阅读全文
posted @ 2018-05-28 07:18 @ 小浩 阅读(480) 评论(0) 推荐(0) 编辑
SpringMVC之HandlerAdapter解析
摘要:HandlerAdapter字面上的意思就是处理适配器,它的作用用一句话概括就是调用具体的方法对用户发来的请求来进行处理。当handlerMapping获取到执行请求的controller时,DispatcherServlte会根据controller对应的controller类型来调用相应的Han 阅读全文
posted @ 2018-05-27 17:27 @ 小浩 阅读(691) 评论(0) 推荐(0) 编辑
SpringMVC 请求响应流程
摘要:SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处 阅读全文
posted @ 2018-05-27 17:07 @ 小浩 阅读(1007) 评论(0) 推荐(0) 编辑
Java热部署相关
摘要:今天发现早年在大象笔记中写的一篇笔记,之前放在ijavaboy上的,现在它已经访问不了了。前几天又有同事在讨论这个问题。这里拿来分享一下。 在web应用开发或者游戏服务器开发的过程中,我们时时刻刻都在使用热部署。热部署的目的很简单,就是为了节省应用开发和发布的时间。比如,我们在使用Tomcat或者J 阅读全文
posted @ 2018-05-27 16:28 @ 小浩 阅读(324) 评论(0) 推荐(0) 编辑
ZooKeeper实现分布式锁
摘要:全部代码下载:CSDN链接:CSDN链接;写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github;多谢; 1.分布式锁的由来: 在程序开发过程中不得不考虑的就是并发问题。在java中对于同一个jvm而言,jdk已经提供了lock和同步等。但是在分布式情况下,往往存 阅读全文
posted @ 2018-05-20 16:31 @ 小浩 阅读(4330) 评论(0) 推荐(0) 编辑
Redis整合Spring实现分布式锁
摘要:spring把专门的数据操作独立封装在spring-data系列中,spring-data-redis是对Redis的封装 Spring 配置文件applicationContext.xml 注意新版的maxTotal,MaxWaitMillis这两个字段与旧版的不同。 redis连接池配置文件re 阅读全文
posted @ 2018-05-20 16:12 @ 小浩 阅读(5971) 评论(0) 推荐(1) 编辑
分布式锁原理及实现方式
摘要:目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两 阅读全文
posted @ 2018-05-20 12:50 @ 小浩 阅读(519) 评论(0) 推荐(0) 编辑
MySQL分布式实现ID自增
摘要:由于数据量以及IO效率的因素,很多项目对数据支持的数据库会采取分库分表的方式。使用了分库分表之后需要解决的一个问题就是主键的生成。多个表之间的主键就不能用数据库本身的自增主键来支持,因为不同表之间生成的主键会重复。所以需要其他的方式获取主键ID。 一般来说解决方案主要有三种: 考虑到扩展性和维护性, 阅读全文
posted @ 2018-05-20 11:50 @ 小浩 阅读(6322) 评论(0) 推荐(0) 编辑
MySQL主从数据库的安装
摘要:安装环境 操作系统 :CentOS 6.5 数据库版本:MySQL 5.6.27 主机A:192.168.1.1 (Master) 主机B:192.168.1.2 (Slave) 1 2 3 4 这里强调的数据库的版本,是因为MySQL在5.6之前和之后的安装方式是不一样的。 本人在进行配置的时候, 阅读全文
posted @ 2018-05-20 11:15 @ 小浩 阅读(565) 评论(0) 推荐(0) 编辑
MySQL主从备份配置实例
摘要:场景: 1、主服务器192.168.0.225、从服务器192.168.0.226。其中,主服务器上已有数据。 2、主从服务器上的mysql版本及安装配置相同。 一、主从备份的原理: 主服务器数据库的每次操作都会记录在二进制日志文件mysql-bin.xxx中。从服务器的I/O线程使用专用帐号登陆到 阅读全文
posted @ 2018-05-19 09:14 @ 小浩 阅读(2505) 评论(0) 推荐(0) 编辑
MySql索引类型
摘要:一、简介 MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引 二、语句 CREATE TABLE table_name[col_name data type] [unique|fulltext][index|key][index_name](col_n 阅读全文
posted @ 2018-05-19 08:47 @ 小浩 阅读(234) 评论(0) 推荐(0) 编辑
MySQL存储引擎
摘要:InnoDB: (1)具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。 (2)支持外键。 (3)InnoDB 中不保存表的具体行数,也就是说 阅读全文
posted @ 2018-05-19 08:05 @ 小浩 阅读(164) 评论(0) 推荐(0) 编辑
https处理的一个过程,对称加密和非对称加密
摘要:一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k。 对称加解密的过程如下: 发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密钥)才能进行通信。发送端用共享密钥k对明文p进行加密,得到密文c,并将得到的密文发送给接收端,接收端 阅读全文
posted @ 2018-05-18 08:39 @ 小浩 阅读(12341) 评论(1) 推荐(4) 编辑
高并发网络编程之epoll详解
摘要:在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。 本文便来介绍epoll的实现机制,并附带讲解一下se 阅读全文
posted @ 2018-05-18 07:59 @ 小浩 阅读(1865) 评论(0) 推荐(0) 编辑
Java IO网络编程经典模板
摘要:本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端。 代码的所有说明,都直接作为注释,嵌入到代码中,看代码时就能更容易理解,代码中会用到一个计算结果的工具类,见文章代码部分。 相关 阅读全文
posted @ 2018-05-16 08:40 @ 小浩 阅读(525) 评论(0) 推荐(0) 编辑
Socket拆包和解包
摘要:对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就是封包和拆包.下面就针对这个问题谈谈我的想法,抛砖引玉.若有不对,不妥之处,恳求大家指正.在此先谢过大家了. 一.为什么基于TCP的通讯程序需要进行封包和拆包. TCP是个"流"协议,所谓流,就是没有界限的一串数据.大家可以想想河里的流水,是 阅读全文
posted @ 2018-05-16 06:59 @ 小浩 阅读(4340) 评论(0) 推荐(0) 编辑
Socket的长连接和短连接
摘要:讨论Socket必讨论长连接和短连接 一、长连接和短连接的概念 1、长连接与短连接的概念:前者是整个通讯过程,客户端和服务端只用一个Socket对象,长期保持Socket的连接;后者是每次请求,都新建一个Socket,处理完一个请求就直接关闭掉Socket。所以,其实区分长短连接就是:整个客户和服务 阅读全文
posted @ 2018-05-15 07:35 @ 小浩 阅读(669) 评论(0) 推荐(0) 编辑
https证书的验证过程与生成方法
摘要:1.简洁的解释: 1.服务器 用RSA生成公钥和私钥2.把公钥放在证书里发送给客户端,私钥自己保存3.客户端首先向一个权威的服务器检查证书的合法性,如果证书合法,客户端产生一段随机数,这个随机数就作为通信的密钥,我们称之为对称密钥,用公钥加密这段随机数,然后发送到服务器4.服务器用密钥解密获取对称密 阅读全文
posted @ 2018-05-13 16:08 @ 小浩 阅读(11065) 评论(1) 推荐(0) 编辑
Java中涉及线程和并发相关的内容
摘要:1:线程池 与每次需要时都创建线程相比,线程池可以降低创建线程的开销,这也是因为线程池在线程执行结束后进行的是回收操作,而不是真正的 销毁线程。 2:ReentrantLock ReentrantLock提供了tryLock方法,tryLock调用的时候,如果锁被其他线程持有,那么tryLock会立 阅读全文
posted @ 2018-05-13 15:37 @ 小浩 阅读(194) 评论(0) 推荐(0) 编辑
Java中的Future相关
摘要:先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。 但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点, 阅读全文
posted @ 2018-05-13 15:35 @ 小浩 阅读(468) 评论(0) 推荐(0) 编辑
CyclicBarrier循环屏障相关
摘要:简介 CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。CyclicBarrier默认的构造方法是CyclicBar 阅读全文
posted @ 2018-05-13 15:18 @ 小浩 阅读(325) 评论(0) 推荐(0) 编辑
CountDownLatch的简单讲解
摘要:正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟C 阅读全文
posted @ 2018-05-13 14:15 @ 小浩 阅读(685) 评论(0) 推荐(0) 编辑
CAS锁相关讲解
摘要:感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到! 参考文档: http://www.blogjava.net/xylz/archive/2010/07/04/325206.html http://blog.hesey.net/2011/09/resolve-aba-by-atom 阅读全文
posted @ 2018-05-13 13:53 @ 小浩 阅读(1204) 评论(0) 推荐(0) 编辑
ThreadPoolExecutor线程池参数设置技巧
摘要:一、ThreadPoolExecutor的重要参数 corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关 阅读全文
posted @ 2018-05-13 11:27 @ 小浩 阅读(456) 评论(0) 推荐(0) 编辑
CountDownLatch与join的区别和联系
摘要:首先,我们来看一个应用场景1: 假设一条流水线上有三个工作者:worker0,worker1,worker2。有一个任务的完成需要他们三者协作完成,worker2可以开始这个任务的前提是worker0和worker1完成了他们的工作,而worker0和worker1是可以并行他们各自的工作的。 如果 阅读全文
posted @ 2018-05-10 08:29 @ 小浩 阅读(226) 评论(0) 推荐(0) 编辑
数据库的隔离级别
摘要:本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的 阅读全文
posted @ 2018-05-09 08:03 @ 小浩 阅读(505) 评论(1) 推荐(0) 编辑
Spring事务管理的demo
摘要:事务是逻辑上的一组操作,这组操作要么全部成功,要么全部失败,最为典型的就是银行转账的案例: A要向B转账,现在A,B各自账户中有1000元,A要给B转200元,那么这个转账就必须保证是一个事务,防止中途因为各种原因导致A账户资金减少而B账户资金未添加,或者B账户资金添加而A账户资金未减少,这样不是用 阅读全文
posted @ 2018-05-09 07:26 @ 小浩 阅读(1026) 评论(0) 推荐(1) 编辑
Java中isAssignableFrom的用法
摘要:class1.isAssignableFrom(class2) 判定此 Class 对象所表示的类或接口与指定的 Class 参数所表示的类或接口是否相同,或是否是其超类或超接口。如果是则返回 true;否则返回 false。如果该 Class表示一个基本类型,且指定的 Class 参数正是该 Cl 阅读全文
posted @ 2018-05-08 08:04 @ 小浩 阅读(2784) 评论(0) 推荐(0) 编辑
Java注解的基本概念和原理及其简单实用
摘要:一、注解的基本概念和原理及其简单实用 注解(Annotation)提供了一种安全的类似注释的机制,为我们在代码中添加信息提供了一种形式化得方法,使我们可以在稍后某个时刻方便的使用这些数据(通过解析注解来使用这些数据),用来将任何的信息或者元数据与程序元素(类、方法、成员变量等)进行关联。其实就是更加 阅读全文
posted @ 2018-05-08 08:01 @ 小浩 阅读(4932) 评论(0) 推荐(0) 编辑
通过注解实现一个简易的Spring mvc框架
摘要:1.首先我们来搭建架构,就建一个普通的javaweb项目就OK了,具体目录如下: 对于小白来说可以细看后面web.xml的配置,对javaweb有点研究可以忽略而过后面的web.xml配置。 2.先上代码,运行起整个项目。再来聊聊思路。 package com.wuqi.annotation; im 阅读全文
posted @ 2018-05-08 07:32 @ 小浩 阅读(338) 评论(0) 推荐(0) 编辑
主流的数据库连接池
摘要:1.数据库连接池概述 数据库连接的建立是一种耗时、性能低、代价高的操作,频繁的数据库连接的建立和关闭极大的影响了系统的性能。数据库连接池是系统初始化过程中创建一定数量的数据库连接放于连接池中,当程序需要访问数据库时,不再建立一个新的连接,而是从连接池中取出一个已建立的空闲连接,使用完毕后,程序将连接 阅读全文
posted @ 2018-05-06 17:29 @ 小浩 阅读(838) 评论(0) 推荐(0) 编辑
Java内存泄漏相关
摘要:之前学习了javaGC的原理机制,有了一定的了解,现在做一个整理总结,便于理解记忆,包括三个问题: 1. java GC是什么时候做的? 2. java GC作用的东西是什么? 3. java GC具体都做了些什么事情? 关于java GC原理参看另一篇随笔: http://www.cnblogs. 阅读全文
posted @ 2018-05-06 16:32 @ 小浩 阅读(256) 评论(0) 推荐(1) 编辑
Java中常见流的分类及简单讲解
摘要:流在Java中是指计算中流动的缓冲区。 从外部设备流向中央处理器的数据流成为“输入流”,反之成为“输出流”。 字符流和字节流的主要区别: 1.字节流读取的时候,读到一个字节就返回一个字节;字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时。先去查指定的编码 阅读全文
posted @ 2018-05-06 10:10 @ 小浩 阅读(19347) 评论(0) 推荐(0) 编辑
java中的队列
摘要:非阻塞队列:ConcurrentLinkedQueue ConcurrentLinkedQueue是一个基于链接节点的无界线程安全队列,它采用先进先出的规则对节点进行排序,当我们添加一个元素的时候,它会添加到队列的尾部,当我们获取一个元素时,它会返回队列头部的元素。 阻塞队列:BlockingQue 阅读全文
posted @ 2018-05-03 14:41 @ 小浩 阅读(272) 评论(0) 推荐(0) 编辑
dubbo协议下的单一长连接与多线程并发如何协同工作
摘要:上班的路上突然就冒出了这么个问题:既然在dubbo中描述消费者和提供者之间采用的是单一长连接,那么如果消费者端是高并发多线程模型的web应用,单一长连接如何解决多线程并发请求问题呢?其实如果不太了解socket或者多线程编程的相关知识,不太容易理解这个问题。传统的最简单的RPC方式,应该是为每次远程 阅读全文
posted @ 2018-05-03 10:04 @ 小浩 阅读(8438) 评论(0) 推荐(2) 编辑
MySQL分库分表
摘要:相关文章: 1、 使用Spring AOP实现MySQL数据库读写分离案例分析 2、MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解 3、MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结 4、使用mysqlreplicate命令快速搭建 Mysql 主从 阅读全文
posted @ 2018-05-01 11:35 @ 小浩 阅读(1255) 评论(0) 推荐(0) 编辑
http和https的区别联系
摘要:超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 为了解决HT 阅读全文
posted @ 2018-05-01 10:23 @ 小浩 阅读(540) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示