51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#android权威编程指南
深入理解java:4.3. 框架编程之MyBatis原理深入解析
本文主要讲解JDBC怎么演变到Mybatis的渐变过程,重点讲解了为什么要将JDBC封装成Mybaits这样一个持久层框架。再而论述Mybatis作为一个数据持久层框架本身有待改进之处。我们先看看我们最熟悉也是最基础的通过JDBC查询数据库数据,一般需要以下七个步骤:/加载JDBC驱动;建立并获取数据库连接;创建JDB...
代码星球
·
2021-01-30
深入
理解
java
4.3.
框架
深入理解java:4.2. 框架编程之Spring框架的设计理念
什么是Spring呢?Spring是为了解决企业应用开发的复杂性而创建的一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 简单了解Spring之后,我们看一下Spring的优点。1、方便解耦,简化开发。2、AOP编程的支持。3、声明式事务的支持。4、方便程序的...
代码星球
·
2021-01-30
框架
深入
理解
java
4.2.
深入理解java:4.1. 框架编程之Spring MVC
说到java的mvc框架,struts2和springmvc想必大家都知道,SpringMVC是当前最优秀的MVC框架,自从Spring2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。springmvc是依托着Servlet容器元素来设计的,同时springmvc基于Spring框架。struts2的设计基...
代码星球
·
2021-01-30
深入
理解
java
4.1.
框架
深入理解java:4. 框架编程
了解Servlet和FilterServlet(即servlet-api.jar)是J2EE最重要的一部分,有了Servlet你就是J2EE了,J2EE的其他方面的内容择需采用。而Servlet规范你需要掌握的就是servlet和filter这两项技术。绝大多数框架不是基于servlet就是基于filter,如果它要在...
代码星球
·
2021-01-30
深入
理解
java
框架
编程
深入理解java:3. NIO 编程
I/O简介I/O即输入输出,是计算机与外界世界的一个借口。IO操作的实际主题是操作系统。在Java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通过stream对象一次移动一个字节。流IO负责把对象转换为字节,然后再转换为对象。什么是NIO NIO即NewIO,这个库是在...
代码星球
·
2021-01-30
深入
理解
java
NIO
编程
深入理解java:2.3.6. 并发编程concurrent包 之管理类---线程池
我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被...
代码星球
·
2021-01-30
深入
理解
java
2.3.6.
并发
深入理解java:2.3.5. 并发编程concurrent包 之容器BlockingQueue(阻塞队列)
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。 阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器...
代码星球
·
2021-01-30
深入
理解
java
2.3.5.
并发
深入理解java:2.3.4. 并发编程concurrent包 之容器ConcurrentLinkedQueue(非阻塞的并发队列---循环CAS)
在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下如何使用...
代码星球
·
2021-01-30
并发
深入
理解
java
2.3.4.
深入理解java:2.3.2. 并发编程concurrent包 之重入锁/读写锁/条件锁
重入锁Java中的重入锁(即ReentrantLock) 与JVM内置锁(即synchronized)一样,是一种排它锁。ReentrantLock提供了多样化的同步,比如有时间限制的同步(定时锁),可以被Interrupt的同步,即中断锁(synchronized的同步是不能Interrupt的...
代码星球
·
2021-01-30
深入
理解
java
2.3.2.
并发
深入理解java:2.3.1. 并发编程concurrent包 之Atomic原子操作(循环CAS)
java中,可能有一些场景,操作非常简单,但是容易存在并发问题,比如i++,此时,如果依赖锁机制,可能带来性能损耗等问题,于是,如何更加简单的实现原子性操作,就成为java中需要面对的一个问题。 在backport-util-concurrent没有被引入java1.5并成为JUC之前,这些原子类和原子操作方...
代码星球
·
2021-01-30
深入
理解
java
2.3.1.
并发
深入理解java:2.3. 并发编程 java.util.concurrent包
JUCjava.util.concurrent包,这个包是从JDK1.5开始引入的,在此之前,这个包独立存在着,它是由DougLea开发的,名字叫backport-util-concurrent,在1.5开始引入java,命名路径为java.util.concurrent,其中的基本实现方式,也有所改变。(来源于一位大...
代码星球
·
2021-01-30
深入
理解
java
2.3.
并发
计算机专业课系列之一:漫谈计算机组成原理和编程语言
一,冯诺伊曼结构的计算机1,计算机的五大组成部分 运算器+控制器(CPU),存储器(内存+硬盘),输出设备(显示器),输入设备(鼠标和键盘)。2,数据和指令以二进制形式,不加区别的存放在存储器中。数据和指令存储在一块,存储在一个存储器中是风诺伊曼结构的重要标志3,冯诺伊曼结构的计算机的工作原理内存是一个线性结...
代码星球
·
2021-01-30
计算机
专业课
系列
之一
漫谈
Linux系统编程之事件驱动
通常,我们写服务器处理模型的程序时,有以下几种模型:(1)每收到一个请求,创建一个新的进程,来处理该请求;(2)每收到一个请求,创建一个新的线程,来处理该请求;(3)每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求分析:第(1)中方法,由于创建新的进程的开销比较大,所以,会导致服务器性能比较差,...
代码星球
·
2021-01-30
Linux
系统
编程
事件
驱动
并发编程与高并发学习笔记六
J.U.C一,AbstractQueuedSynchronizer-AQS1.设计使用Node实现FIFO队列,可以用于构建锁或者其他同步装置的基础框架利用一个int类型表示状态在AQS类中有一个叫waitStatus的成员变量,基于AQS有一个同步组件叫ReentrantLock,在这个组件中status表示获取锁的...
代码星球
·
2021-01-30
并发
编程
高并发
学习
笔记
并发编程与高并发学习笔记五
线程池一,newThread弊端每次newThread新建对象,性能差线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多的系统资源导致死机或OMM缺少更多功能,如更多执行,定期执行,线程中断二,线程池的好处重用存在的线程,减少对象的创建和消亡的开销,新能好可以有效的控制最大并发线程数,提高系统资源利用率,...
代码星球
·
2021-01-30
并发
编程
高并发
学习
笔记
首页
上一页
...
36
37
38
39
40
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他