自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 构建一个最简单的web应用并部署及启动

第一种构建方式:不使用mavenFile-new-Dynamic Web Project,用这种方式构建的web项目是在web.xml文件中配置了welcome-file的,但是却没有对应的文件,所以只需新建一个index.jsp,在里面简单的加点内容,这个时候web应用就算是构建好了,就可以部署并启动了。在web应用名上右键,Export-WAR file就可以把应用打成war包并放在指

2015-07-25 15:28:22 1257

原创 setTimeout用法:利用setTimeout在页面上不停的显示当前日期时间

function showTime() { var mydate = new Date(); var year = mydate.getFullYear(); var month = mydate.getMonth(); month = month + 1; var day = mydate.getDate(); var hour = mydate.getHours();

2015-07-25 15:09:44 1398

原创 setTimeout用法:利用setTimeout在页面上不停的输出随机数

以下小程序着重掌握setTimeout(     ,    )的用法,第一个参数是函数,第二个参数是毫秒数。 function Test() { var p = document.getElementById("p"); p.innerHTML = Math.random() * 20; setTimeout('Test()', 1000); }

2015-07-25 14:56:50 869

原创 spring基础

是否

2015-07-25 14:32:37 352

原创 java中的12个原子操作类

当程序更新一个变量时,如果多个线程同时更新这个变量,则可能会出现线程安全的问题。为了解决线程安全问题,可以用synchronized同步代码块或者synchronized同步方法。除此之外,还有一种方式,那就是原子操作类来操作变量。      Java中一共有12个原子操作类,名字都是以Atomic打头,都在java.util.concurrent.atomic包下,可以分为4种类型,每种类型

2015-07-25 13:56:07 570

原创 多线程进阶之并发工具类第二篇:Semaphore、Exchanger

1.Semaphore工具类,  ['seməfɔːr],是信号灯的意思,用来控制同时访问特定资源的线程的数量。      举个例子,比如XX桥因为年久失修,要限制车数量,只允许同时最多有100辆车在桥上行驶,其他必须在路口等待,所以前100辆车会看到绿灯,可以开上桥,后面的车会看到红灯,不能开上桥。但是前面100辆车如果有5辆车已经下了桥,那么后面就允许有5辆车再开上桥。这个例子中的车就是线

2015-07-22 18:07:30 341

原创 ==与equals()方法的不同

==比较分为两种情况:基本数据类型比较与引用数据类型比较1.基本数据类型,根据基本数据类型的值是否相等来判断,相等则返回true,不相等则返回false。两端数据类型可以不同,如果转换后的数值相等,则也返回true @Test public void test1() { int i = 65; int j = 65; char c = 65; float f = 65

2015-07-22 17:42:14 382

原创 多线程进阶之并发工具类第一篇:CountDownLatch、CyclicBarrier

在java.util.concurrent包下有4个非常有用的并发工具类。CountDownLatch、CyclicBarrier提供了一种并发流程控制的手段。1.CountDownLatch探究:主要用到其两个实例方法:countDown()和await(),这两个方法配合使用,效果等同于Thread实例的join方法:案例:有两个子线程,让这两个子线程执行完之后再执行主线程。使

2015-07-20 18:22:35 708

原创 ThreadLocal类及常用的线程安全类探究

1.ThreadLocal类      ThreadLocal是Thread Local Variable的简称,意思是线程局部变量。作用是为每一个使用该变量的线程都提供一个该变量的副本,使每一个线程都能独立操作这个副本而不会与其他线程的副本冲突。      ThreadLocal在java.lang包下,是从jdk1.2就有的类,在jdk5.0之后加入了泛型支持。常用的方法也就三个:

2015-07-16 18:48:23 757

原创 项目中的BaseServlet

BaseServlet代码:import java.io.IOException;import java.lang.reflect.Method;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;imp

2015-07-16 15:11:57 2043

原创 c3p0连接池的使用

利用c3p0连接池获取数据库连接,即不再通过DriverManager的getConnection(url,user,password)方法获取connection,而是通过c3p0数据源的类来获取连接,可分为两种情况,用或者不用配置文件:1.不用配置文件,采用硬编码的形式设置连接池参数:导入c3p0的jar包:c3p0-0.9.5.1.jar以及mchange-commons-java-

2015-07-16 14:40:26 832

原创 JDBC代码规范化

JDBC规范化代码所谓代码规范化就是无论是否出现异常,都要关闭ResultSet、Statement,以及Connection。一个访问数据库的类Test1 的代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import j

2015-07-15 19:45:30 417

原创 多个线程之间共享数据的方式(卖票问题,存取款问题)

多线程共享数据,其实要分为两种情况:1.多线程执行相同的代码处理数据,最经典的问题就是卖票;2.多线程执行不同的代码处理数据,最经典的问题就是银行存取钱。卖票问题探究:最初的代码是:public class Test1 { public static void main(String[] args) { Ticket target = new Ticket();

2015-07-15 17:00:45 759

原创 Arrays类与Array类探究

这里所说的Arrays类是util包中的java.util.Arrays,Array是反射包中的java.lang.reflect.Array。首先介绍Arrays类的常用的静态方法:1.排序方法:一系列重载的Arrays.sort(),参数是一个数组对象,可以是7种基本数据类型的数组,也可以是Object类型的数组。:示例:public static void main(St

2015-07-15 13:08:34 655

原创 前后端交互乱码问题处理

第一.服务器接收客户端请求乱码1.先用request.getParameter(xxx)获取参数值,然后对此参数值用ISO-8859-1解码再用UTF-8编码,对GET请求和POST请求都有效2.在用request.getParameter(xxx)方法获取参数值前,用request.setCharacterEncoding(encoding)方法设置字符集。但是这种方式只对POST请求(

2015-07-15 13:00:46 3229

原创 多线程基础知识第二篇:线程常用方法及各种状态

本篇主要介绍一下Thread类的方法以及探究一下线程的状态。首先,Thread类常用的静态方法:1.Thread.activeCount(),得到存活的线程数,返回值是int类型;2.Thread.holdsLock(Object obj),当前线程是否获得了指定的对象同步锁,返回值是boolean类型;3.Thread.currentThread(),得到当前线程,返回值是个Th

2015-07-15 12:03:31 2565

原创 多线程基础知识第一篇:创建线程3种方式

第一,首先说一下为什么要使用多线程。线程是大多数操作系统调度的基本单元,一个程序作为一个进程来执行,程序运行过程中能够创建多个线程,而一个线程在一个时刻只能运行在一个处理器核心上。也就是说单线程程序只能使用一个处理器核心,那么加入再多的处理器核心也无法显著提升程序的执行效率。相反,如果该程序使用多线程技术,将计算逻辑分配到多个处理器核心上,就会显著减少程序的处理时间,并且随着更多处理器核心的加

2015-07-08 17:30:13 541

原创 有用的位运算

1. &运算 :位与运算。相同位的两个数字都为1,则为1;若有一个不为1,则为0。00101&11100的结果是00100 一个数&1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数。public void testNumber(int a) { if ((a & 1) == 1) { Syste

2015-07-07 11:46:50 482

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除