java
文章平均质量分 83
亚森保罗
写的博文都是脑子中潜在的源代码,用时参考一下。
展开
-
Java线程(一):线程安全与不安全
作为一个Java web开发人员,很少也不需要去处理线程,因为服务器已经帮我们处理好了。记得大一刚学Java的时候,老师带着我们做了一个局域网聊天室,用到了AWT、Socket、多线程、I/O,编写的客户端和服务器,当时做出来很兴奋,回学校给同学们演示,感觉自己好NB,呵呵,扯远了。上次在百度开发者大会上看到一个提示语,自己写的代码,6个月不看也是别人的代码,自己学的知识也同样如此,学完的知识如果转载 2016-08-02 16:12:16 · 322 阅读 · 0 评论 -
Java线程(二):线程同步synchronized和volatile
上篇通过一个简单的例子说明了线程安全与不安全,在例子中不安全的情况下输出的结果恰好是逐个递增的(其实是巧合,多运行几次,会产生不同的输出结果),为什么会产生这样的结果呢,因为建立的Count对象是线程共享的,一个线程改变了其成员变量num值,下一个线程正巧读到了修改后的num,所以会递增输出。 要说明线程同步问题首先要说明Java线程的两个特性,可见性和有序性。多个线程之间是转载 2016-08-02 16:17:21 · 174 阅读 · 0 评论 -
Java线程(三):线程协作-生产者/消费者问题
上一篇讲述了线程的互斥(同步),但是在很多情况下,仅仅同步是不够的,还需要线程与线程协作(通信),生产者/消费者问题是一个经典的线程同步以及通信的案例。该问题描述了两个共享固定大小缓冲区的线程,即所谓的“生产者”和“消费者”在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加转载 2016-08-02 16:29:08 · 209 阅读 · 0 评论 -
Java线程(四):线程中断、线程让步、线程睡眠、线程合并
本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17560467,转载请注明。 最近在Review线程专栏,修改了诸多之前描述不够严谨的地方,凡是带有Review标记的文章都是修改过了。本篇文章是插进来的,因为原来没有写,现在来看传统线程描述的不太完整,所以就补上了。理解了线程同步和线程通信之后,再来看本文转载 2016-08-02 16:31:39 · 235 阅读 · 0 评论 -
Java线程(五):Timer和TimerTask
Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。 Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。转载 2016-08-02 16:33:27 · 229 阅读 · 0 评论 -
Java线程(六):线程池
自JDK5之后,Java推出了一个并发包,java.util.concurrent,在Java开发中,我们接触到了好多池的技术,String类的对象池、Integer的共享池、连接数据库的连接池、Struts1.3的对象池等等,池的最终目的都是节约资源,以更小的开销做更多的事情,从而提高性能。 我们的web项目都是部署在服务器上,浏览器端的每一个request就是一个线程,那转载 2016-08-02 16:34:06 · 175 阅读 · 0 评论 -
Java线程(七):Callable和Future
接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务转载 2016-08-02 16:34:43 · 224 阅读 · 0 评论 -
Java线程(八):锁对象Lock-同步问题更完美的处理方式
Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下:public class LockTest { public static void mai转载 2016-08-02 16:37:01 · 446 阅读 · 0 评论 -
Java线程(九):Condition-线程通信更高效的方式
接近一周没更新《Java线程》专栏了,主要是这周工作上比较忙,生活上也比较忙,呵呵,进入正题,上一篇讲述了并发包下的Lock,Lock可以更好的解决线程同步问题,使之更面向对象,并且ReadWriteLock在处理同步时更强大,那么同样,线程间仅仅互斥是不够的,还需要通信,本篇的内容是基于上篇之上,使用Lock如何处理线程通信。 那么引入本篇的主角,Condition,Con转载 2016-08-02 16:37:44 · 302 阅读 · 0 评论 -
编程常用技巧(为了不要反复出现同样的错误)
1、Java判断是否为空的时候:要把null放在前面,否则容易报空指针异常(NullPointerException)的错误。if(str!=null&&!str.equals("")){}如果是字符串类型也可以使用,类包中的StringUtilsif(StringUtils.isNotEmpty(str)){}当空格也算空的情况下可以使用if(StringUt原创 2017-06-19 08:38:53 · 238 阅读 · 0 评论 -
常用的两种spring、mybatis 配置方式
在之前的文章中总结了三种方式,但是有两种是注解sql的,这种方式比较混乱所以大家不怎么使用,下面总结一下常用的两种总结方式:一、 动态代理实现 不用写dao的实现类这种方式比较简单,不用实现dao层,只需要定义接口就可以了,这里只是为了记录配置文件所以程序写的很简单:1、整体结构图:2、三个配置文件以及一个映射文件(1)、程序入口以及前端控制器配置 web.xml[html] view plain...转载 2018-03-02 09:25:37 · 161 阅读 · 0 评论 -
Mybatis基本配置和搭建
今天,主要向大家分享下如何从头搭建一个最简单的mybatis项目下载地址Mybatis3 最新下载地址:https://github.com/mybatis/mybatis-3/releases一, 创建配置文件在新建的project的src目录下,新建mybatis-config.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCT...转载 2018-03-02 09:26:43 · 184 阅读 · 0 评论 -
java正则表达式基本符号
转载自:http://blog.csdn.net/bigapple88/article/details/6248880一:基本符号:1.句点符号:. 匹配任意单个字符,如t.n匹配:tan, Ten, tim, t n, t#n等2.方括号:[]匹配方括号内的任意单个字符,如t[aeio]n匹配:tan, ten, tin, ton, 但不匹配toon或taen,注意是只匹转载 2016-05-12 15:39:50 · 400 阅读 · 0 评论 -
使用HttpURLConnection向服务器发送post和get请求
一、使用HttpURLConnection向服务器发送get请求1、向服务器发送get请求 @Test publicvoid sendSms() throws Exception{ String message="货已发到"; message=URLEncoder.encode(message, "UTF-8"); Sy转载 2016-04-10 19:17:39 · 411 阅读 · 0 评论 -
HttpClient设置HTTP请求头Header
用Firebug对POST的数据进行监控 请求 HTTP头 信息,得到如下内容:Java代码 Accept application/json, text/javascript, */* Accept-Encoding gzip, deflate Accept-Language en-us,en;q=0.5 Cache-Control no-ca转载 2016-04-10 18:51:04 · 5202 阅读 · 0 评论 -
jsp页面中实现复选框全选和反选、选中删除功能
jsp中表单页面/DelectServlet" method=post> 全选/反选 编号 用户名 密码 姓名 邮箱 性别 生日 爱好 薪水原创 2014-06-25 10:37:04 · 13790 阅读 · 0 评论 -
Collection , List , Set 和 Map 用法和区别
Java spring MVC 框架的调用关系是弄明白了,可是发现后面要走的路还很长,有很多东西对我还是很神秘,比如 list , set , map 等,今天就来一一解开他们的面纱。当还还有一大堆需要记忆的系统已经封装好的类、接口等等,这些内容会在以后,慢慢道来。 首先看一下他们之间的关系Collection 接口的接口 对象的集合 ├ List转载 2014-07-18 14:10:16 · 406 阅读 · 0 评论 -
通过输入身份证号验证个人信息
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Calendar;import java.util.HashMap;import java.util.Iterator;原创 2014-06-25 10:21:09 · 906 阅读 · 0 评论 -
java读取文档替换指定字符串后生成新的文档
import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.BufferedWriter;import原创 2014-06-24 13:55:57 · 734 阅读 · 0 评论 -
java移动字符串显示位置
public class Yidong { String str; public void run(){ str = "abcdefghijkl"; System.out.println("before--"+str); String str1=str.substring(10, 12); String str2 = str.substring(0, 4); Str原创 2014-06-24 14:19:49 · 629 阅读 · 0 评论 -
线程
1、在java中要想实现多线程,有两种手段,一种是继承Thread类,另外一种是实现Runable接口。① 继承Thread类class类名extendsThread{方法1;方法2;…publicvoidrun(){// other code…}属性1;属性2;… }直接调用run()方法,按顺序执行。调用start()方法,逐一执行。翻译 2014-07-07 09:45:03 · 328 阅读 · 0 评论 -
泛型Generics
所谓泛型,就是变量类型的参数化。 泛型是JDK1.5中一个最重要的特征。通过引入泛型,我们将获得编译时类型的安全和运行时更小的抛出ClassCastException的可能。 在JDK1.5中,你可以声明一个集合将接收/返回的对象的类型。 使用泛型时如果不指明参数类型,即泛型类没有参数化,会提示警告,此时类型为Object。 为什么使用泛型转载 2014-07-07 09:36:16 · 311 阅读 · 0 评论 -
抽象类和接口
Java只支持单继承,不支持多重继承。抽象类和接口就完美解决了这个问题。抽象类一般用作父类抽象类中定义抽象的方法继承它的子类就必须实现该方法,抽象方法只有方法名没有方法体类可以实现(继承)多个接口,必须重写所有抽象方法,否者该类一定是抽象的抽象类实现接口可以重写部分方法接口可以继承接口,但接口不能实现接口。(因为如果这样无法实现对应抽象方法)(接口中的方法都是抽象的)Jav原创 2014-07-07 09:52:10 · 508 阅读 · 0 评论 -
配置Log4j(很详细)
来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:转载 2014-07-10 13:05:40 · 438 阅读 · 0 评论 -
Java读取、写入、处理Excel文件中的数据
在日常工作中,我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,本文将介绍Excel读写的常用方法,希望对大家学习Java读写Excel会有帮助。 在开始进行Java读写Excel前,我们需要先下一个jxl的jar包,这个jar包中提供了相关读写Excel的方法,在百度里所搜一下jxl.jar下载就会出现很多下载地址了转载 2014-07-10 13:11:08 · 34909 阅读 · 3 评论 -
keytool生成证书 查看证书信息 ,以及java操作的简单用例
首先用keytool生成证书1 产生密钥D:/>keytool -genkey -alias wenger -keysize 1024 -keypass abcdef -keystore myKeystore -storepass abcdef -dname "CN=chen sr, OU=tanglab, O=lab, L=gz, ST=gd, C=cn"2 导出密钥,用证书转载 2014-08-25 13:35:52 · 2096 阅读 · 0 评论 -
java读取Excel指定格式的数据
Excel Version 2003JDK 1.6帮朋友做的,弄完后留个印象代码:有点乱,只为实现功能,没有过多修改调试import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;i原创 2015-08-28 18:33:35 · 698 阅读 · 0 评论 -
拖拽文件按照指定大小进行拆分
DropDragSupportTextArea.javaimport java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.dnd.DnD原创 2014-06-24 15:46:15 · 579 阅读 · 0 评论