Java
帅成一匹马
这个作者很懒,什么都没留下…
展开
-
NIO和BIO
一、Java中的IO介绍 BIO:BlockingIO,同步式阻塞式IO,即传统的IO,是Java中最早期的流 NIO:Non-BlockingIO,又称New IO,同步式非阻塞式IO,是JDK1.4提供的流 AIO:AsynchronousIO,异步式非阻塞式IO,可以认为是NIO的二代版本,是JDK1.8提供的流 二、概述 NIO是JDK1.4出现的一个新...原创 2019-03-18 22:19:13 · 352 阅读 · 0 评论 -
ConcurrentMap - 并发映射
一、概述 提供了高并发、线程安全的能力二、ConcurrentHashMap - 并发哈希映射 异步式线程安全的映射, 是一个类 1. 异步式线程安全的映射, 是一个类 2. 底层是依靠数组+链表结构来存储,数组的初始容量是16,加载因子是0.75 3. 采取了分段(桶)锁机制:当不同线程访问不同的桶的时候,这个线程会锁住...原创 2019-03-12 23:11:57 · 212 阅读 · 0 评论 -
nginx实现高并发的原理
Nginx首先要明白,Nginx 采用的是多进程(单线程) & 多路IO复用模型。使用了 I/O 多路复用技术的 Nginx,就成了”并发事件驱动“的服务器。异步非阻塞(AIO)的详解http://www.ibm.com/developerworks/cn/linux/l-async/多进程的工作模式1、Nginx 在启动后,会有一个 master 进程和多个相...转载 2019-03-31 19:28:05 · 234 阅读 · 0 评论 -
ThreadLocal线程局部变量
定义: 它是一个类,主要用于数据的传递,它是一种隐式传递消息的机制,可以从程序执行的上游向程序执行的下游传递数据。可用于解决多线程并发安全问题。方法:initialValue() 该方法返回值为null;如果程序员希望线程局部变量具有 null 以外的值,则必须为 ThreadLocal 创建子类,并重写此方法。通常将使用匿名内部类完成此操作。注:线程第一次使用 ge...原创 2019-03-21 11:45:20 · 350 阅读 · 0 评论 -
关于javaBean以及entity,domain,vo,pojo的解释
javaBean: 一种类的规格编写规范; 含有setXxx()或者getXxx()方法的类都可以称之为javaBean。以entity, domain ,vo, pojo命名的包, 包中的类都满足javaBean的规范entity:entity包下的类中的所有属性与数据库表格中的字段名逐一对应 domain:domain包下的类中的属性除了包含数据库表格中的...原创 2019-03-12 23:09:25 · 4354 阅读 · 0 评论 -
MyEclipse导入项目已存在(Some projects cannot be imported because they already exist in the workspace)
起初遇到该问题后, 总是使用修改工程名的方式来解决问题, 今天又遇到了, 下定决心一定要解决, 在网上找了很久, 试过很多种方法, 最后终于完美解决, 分享给大家.方案1 : 删除如下目录下的与所导入项目重名的项目即可。D:\MyEclipse_Workspaces\.metadata\.plugins\org.eclipse.core.resources\.projects结果:...原创 2019-03-11 21:54:19 · 664 阅读 · 0 评论 -
Redis槽道
redis-cluster槽道的原理:1 redis服务如何判断key对应的槽道号,是否由本节点管理?每一个节点都有一个属于自己的16384位的二进制位序列,每一位对应一个槽道号,当该二进制序列的某一位为1时,代表当前结点对该槽道号具有管理权。(下图表示,当前结点对槽道:02 3 4 .... 16383具有管理权:)当客户端通过某一结点(比如8000)向cluste...转载 2019-03-11 08:54:15 · 404 阅读 · 1 评论 -
Java方法区、栈及堆
Java方法区、栈及堆一 方法区(Method Area)1. 什么是方法区(Method Area)?《深入理解JVM》书中对方法区(Method Area)描述如下:方法区(Method Area)与Java堆一样,是各个线程共享的内存区域。2.方法区(Method Area)存储什么?《深入理解JVM》书中对方法区(Method Area)存储内容描述如下:它存储已被Ja...转载 2019-03-29 08:41:03 · 167 阅读 · 0 评论 -
取模和取余正解
关于取模和取余,网上误人的帖子太多了,也没讲清楚,越看越懵,经过多方查阅和自己的证实,现将正解归纳如下:计算方法对于整数 A ,B取模和取余的运算过程相同:求商:C = A / B 计算模或者余数:R= A - C * B取模和取余的区别仅仅是在计算C的时候不同: 取余计算时:C 值向0方向取整,比如:C = A / B = 7 / 4 = 1.75 ,向0方向取整,则C取 1 ,则取余R = A - C * B = 3C = A / B = -7 / 4 =..原创 2021-01-22 18:08:48 · 315 阅读 · 0 评论 -
23种设计模式大汇总
下边是23种设计模式的类图大汇总,23种设计模式解析请移步http://blog.csdn.net/qq_25827845/article/details/529322341、创建类模式2、行为类模式3、结构类模式...转载 2019-03-26 21:16:44 · 146 阅读 · 0 评论 -
CAS无锁算法
锁(lock)的代价锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切 换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。用户态的锁虽然避免了这些问题,但是 其实它们只是在没有真实的竞争时才有效。Java在JDK1.5之前都是靠synchr...转载 2019-08-09 11:50:26 · 105 阅读 · 0 评论 -
MySQL主从复制原理及双机热备原理
主从复制:数据库接收到请求后, 由主节点的内置客户端执行sql语句,包括"增删改查”,其中"查”是读操作,不涉及主从复制.在主节点中有一个二进制日志文件bin.log, 当用户执行写操作(增删改)的sql语句时, 这些语句会被记录到二进制文件bin.log中, 这个二进制文件携带一个指针标识position,默认是120,当二进制日志文件的内容发送改变后,指针标识position也会改...原创 2019-06-26 20:10:05 · 985 阅读 · 0 评论 -
Mybatis中foreach标签详解
foreach元素的属性主要有 item、index、 collection、open、separator、close。 -collection表示要做foreach循环的对象 - item 表示集合中每一个元素或者该集合的对象,支持对象点属性的方式获取属性。 - index 表示循环的下标,从0开始 - open 表示以什么...原创 2019-06-04 21:28:12 · 4563 阅读 · 0 评论 -
Mybatis中resultMap标签解释
表单:javaBean:package com.pojo;public class Product { private String orderId; private String product; }package com.domain;import java.util.List;public class Order { private String ...原创 2019-05-23 17:11:49 · 4425 阅读 · 0 评论 -
Spring AOP 中那些让人发狂的专业术语
切面 aspect:切面是一个类,是一个新功能类通知 advice:新功能类中的每个功能方法都是一个通知,通知存在于切面类中,一个切面中可以有很多个通知,比如: 前置通知,后置通知,异常通知,最终通知,环绕通知连接点 joinpoint:老业务类中的每个方法都是连接点切入点 pointcut:切入点是把切面中的通知,切在老业务类中的某个方法上(通过表达式来选方法),被切入的方...原创 2019-04-30 20:16:59 · 246 阅读 · 0 评论 -
Session与Cookie详解
Session的创建和消亡 1.Session的创建: Session并不是一访问网页就会立即被创建, 而是在调用request.getSession()方法时才会被创建。 什么时候会调用request.getSession()方法分为两种情况: ①如果servlet中没有调用request.getSession()方法,那么服务...原创 2019-04-21 20:23:32 · 261 阅读 · 0 评论