Java--数据库连接池

  在我们使用数据库时,每次都需要获取数据库链接,而创建连接通常需要消耗较大的资源。对于一个很小的应用是没有什么问题,如果是一个复杂的数据库应用呢?是不是要很大的开销?如果我们去减少创建、关闭连接就会很好的降低资源消耗提升性能,于是就有了数据库连接池的出现。(注:本博客主要使用mysql数据库

不使用连接池

需要mysql-connector-java-5.0.8-bin.jar

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package com.xiaoxiaomo.pool;

import java.sql.*;
import java.util.ResourceBundle;

/**
* 不使用连接池
* JDBC DEMO
* Created by xiaoxiaomo on 2016/4/26.
*/

public class UnPool {

public static void main(String[] args) {
// 创建连接
Connection conn = null;
PreparedStatement statm = null;
ResultSet rs = null;
try {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql:///xiaoxiaomo?useUnicode=true&characterEncoding=UTF-8",
"root", "root");
String sql = "update sys_user set mobile= ? where id = ?";
statm = conn.prepareStatement(sql) ;
statm.setString(1,"15826008888");
statm.setInt(2,2);
int b = statm.executeUpdate() ;
if (b == 1) {
System.out.println("更新成功");
}

} catch (Exception e) {
System.out.println("插入失败");
e.printStackTrace();
} finally {
// 关闭连接 释放资源
try {
if (rs != null)
rs.close();
if (statm != null)
statm.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

Java--NIO之通道

  通道与缓冲区不同,通道 API 主要由接口指定不同的操作系统上通道实现(Channel Implementation)会有根本性的差异,所以通道 API 仅仅描述了可以做什么。因此很自然地,通道实现经常使用操作系统的本地代码。通道接口允许您以一种受控且可移植的方式来访问底层的 I/O服务。
 Channel结构关系图

Java--NIO之缓冲区进阶

  上一篇http://blog.xiaoxiaomo.com/2016/04/16/Java-NIO之缓冲区/讲了基本的缓冲区概念、属性以及部分操作。本片博客,主要讲解缓冲区的创建、复制和字节缓冲区

缓冲区的创建

  对于这一讨论,我们将以 CharBuffer 类为例,但是对于其它六种主要的缓冲区类也是适用的:IntBuffer,DoubleBuffer,ShortBuffer,LongBuffer,FloatBuffer,和 ByteBuffer。下面是创建一个缓冲区的关键函数,对所有的缓冲区类通用(要按照需要替换类名):

1
2
3
4
5
6
7
8
9
10
11
public abstract class CharBuffer
extends Buffer implements CharSequence, Comparable {

// This is a partial API listing
//这些都是静态方法。
public static CharBuffer allocate(int capacity);
public static CharBuffer wrap (char [] array);
public static CharBuffer wrap (char [] array, int offset, int length);
public final boolean hasArray( )
public final char [] array( )
public final int arrayOffset( )
}

Linux--Maven和nexus私服搭建

  Maven是基于项目对象模型(POM),管理项目的构建,报告和文档的软件项目管理工具。Nexus是一个高效的Maven私有服务器,通过POM文件或者Maven的setting.xml指向私服地址,这样我们便可以通过私服管理jar包;本文就介绍了如何在linux安装maven和nexus私服。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器