- 博客(29)
- 资源 (3)
- 收藏
- 关注
转载 多线程高级的工具
java.util.concurrent中更高级的工具分成三类:Executor Framework并发集合(Concurrent Collection)同步器(Synchronizer)一、executor和task优先于线程:在Java 1.5 中提供了java.util.concurrent包,在这个包中包含了Executor Framework框架,
2014-03-11 14:51:42 626
转载 Executor framework的机制
从java5开始,java就提供了名叫Executor framework的机制,主要是围绕着Executor接口, 它的接口 ExecutorService, 以及实现了这两个接口的ThreadPoolExecutor类来展开,这种机制把线程的执行和创建分离开了,你只需要创建一个线程,然后把线程丢给Executor,让它执行去吧。使用这个机制的另外一个好处是可以使用Callable接口,它类似于
2014-03-10 16:25:27 539
转载 wait/sleep/yield的区别
首先,wait()和notify(),notifyAll()是Object类的方法,sleep()和yield()是Thread类的方法。(1).常用的wait方法有wait()和wait(long timeout): void wait() 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。 void wait(lon
2014-03-07 17:21:00 424
转载 java web
1、Tomcat的优化经验答:去掉对web.xml的监视,把jsp提前编辑成Servlet。有富余物理内存的情况,加大tomcat使用的jvm的内存 2、HTTP请求的GET与POST方式的区别答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destro
2014-03-03 16:16:36 456
转载 Oracle 存储过程
一 存储过程的优点:1 SQL存储过程执行起来比SQL命令文本快得多。当一个SQL语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。 2 调用存储过程,可以认为是一个三层结构。程序易于维护。如果程序需要做某些改动,你只要改动存储过程即可 3 你可以在存储过程中利用Transact-SQL的强大功能。一个SQL存储过程可以包含多个SQL语句。可以使用变量
2014-03-03 14:15:41 493
转载 创建存储过程Navicat
创建存储过程本主题介绍了如何通过使用 SQL Server Management Studio(开发IDE) 和 Transact-SQL CREATE PROCEDURE 语句来创建 Transact-SQL 存储过程。开始之前: 权限 创建存储过程,使用: SQL Server Management Studio、Transact-SQL
2014-02-27 21:10:43 1273
原创 后台和页面互相传参的手段
1 请求域,有四个域:pageScope,requestScope,sessionScope,applicationScope范围由小到大表示变量的作用域,一共4种。pageScope: 表示变量只能在本页面使用。requestScope:表示变量能在本次请求中使用。sessionScope:表示变量能在本次会话中使用。applicationS
2014-02-27 15:31:33 1882
转载 Spring配置
Spring:--1 使用jar包:spring.jarcommons-logging.jar使用aopaspectjweaver.jaraspectjrt.jarcglib-nodep-2.1_3.jar 使用注解:common-annotations.jar--2 实例化容器:ApplicationContext ctx =
2014-02-27 14:47:23 533
转载 synchronized详解
1 当synchronized修饰某对象的方法时,当某个线程访问到此方法时,就会给对象加锁,其他线程就不能访问此对象了(此对象的所有方法)2 当static 与 synchronized 同时修饰方法时, 将这个方法所在的类的Class对象上锁。 无论一个类有多少个对象,这些对象会对应唯一一个Class对象, 因此当线程分别访问同一个类的两个对象的两个s
2014-02-27 14:34:50 380
转载 可变长参数方法注意事项
1 如果能够和固定参数的方法匹配,也能够与可变长参数的方法匹配,则选择固定参数的方法eg: public void print(String... args) { for (int i = 0; i out.println(args[i]); } } public void print(Strin
2014-02-27 14:28:12 539
转载 提高性能的方法
1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 控制资源的使用,通过线程同步来控制资源的并发访问; 控制实例的产生,以达到节约资源的目的; 控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。
2014-02-27 14:26:51 675
转载 getCurrentSession()与openSession()的区别
getCurrentSession()与openSession()的区别1、getCurrentSession()与openSession()的区别?* 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession() 创建的session则不会* 采用getCurrentSession()创建的session在commit
2014-02-27 14:23:37 442
翻译 hql_sql_criteria
------------Query接口1.list()和iterate()方法的区别:在于iterate()先通过select语句查找所有id字段的值,然后如果session缓存(一级缓存)中已经存在id对应的对象就直接添加到查询结果中,否则再根据id额外查询这条记录。2.Query和Criteria共同有的方法list(),uniqueResult(),setMa
2014-02-27 14:20:13 446
翻译 query 中Hql和sql
1 一 基本语法:Configuration cfg = new Configuration();cfg.configure("/hibernate.cfg.xml");SessionFactory sf = cfg.buildSessionFactory();Session session = sf.openSession();1 返回所有对象Query quer
2014-02-27 14:18:33 474
翻译 mysql出错列表
1024:读文件错误 1025:更改名字时发生错误 1026:写文件错误 1032:记录不存在 1036:数据表是只读的,不能对它进行修改 1037:系统内存不足,请重启数据库或重启服务器 1038:用于排序的内存不足,请增大排序缓冲区 1040:已到达数据库的最大连接数,请加大数据库可用连接数 1041:系统内存不足 1042:无效的主机名 1043:无效连接
2014-02-27 14:08:20 401
转载 Nio使用
Java NIO带来了什么? 传统Java IO在我前一篇博文《细说Java IO相关》已经介绍过了,它是阻塞的,低效的。那么Java NIO和传统Java IO有什么不同?带来了什么?(1)面向块的I/O 传统JavaIO是面向流的I/O。流I/O一次处理一个字节。NIO则是面向块的I/O,每次操作都是以数据块为单位。它们的差距就好象两个人吃饭,一个人一粒一粒的吃,另一个人狼吞虎
2014-02-08 17:24:32 473
原创 date2String
自制工具:import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateUtil{ public final static String PATTERN_yyyy_MM_dd = "yyyy-MM-dd"; public
2014-02-08 17:11:25 1364
转载 Spring--quartz中cronExpression配置说明
Spring--quartz中cronExpression配置说明字段 允许值 允许的特殊字符秒 0-59 , - * /分 0-59 , - * /小时 0-23 , - * /日期 1-31 , - * ? / L W C月份 1-12 或者 JAN-DEC , - * /星期 1-7 或者 SUN-SAT , - * ? / L C #年(可选) 留空, 19
2014-02-08 17:06:19 398
原创 Quartz
一、Quartz简介 Quartz是一个开放源码项目,专注于任务调度器,提供了极为广泛的特性如持久化任务,集群和分布式任务等。Spring对Quartz的集成与其对JDK Timer的集成在任务、触发器和调度计划的声明式配置方面等都非常相似。 Quartz的核心由两个接口和两个类组成:Job和Scheduler接口,JobDetail和Trigger类。不同
2014-02-08 17:03:19 491
转载 json2xml
java中Xml、json之间的相互转换旁白:最近关于xml与json之间的转换都搞蒙了,这里写一个demo,以后备用。正题:project格式是:jar包是一个一个检出来的,还算干净了。代码:工具类:package exercise.xml;import net.sf.json.JSON;import net.sf.json.JSONSeri
2014-02-08 15:17:42 915
原创 json
JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级、跨平台的数据交换格式。一 相较于xml,json的优点:1 JS(JavaScript的简写)中处理XML非常不方便,而json显得非常好用;2 XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记;二 json的两
2014-02-08 14:51:08 410
翻译 线程池
1 为什么要用线程池? a 单个任务处理的时间很短而请求的数目却是巨大的。 b 每当一个请求到达就创建一个新线程,然后在新线程中为请求服务。 创建一个新线程的开销很大;服务器在创建和销毁线程上花费的时间 和消耗的系统资源要比花在处理实际的用户请求的时间和资源更多。 c 活动的线程也消耗系统资源。 2 线程池的优点
2014-02-08 14:26:02 348
原创 经典算法搜集
一 递归算法:递归算法条件:1 该问题能够被递归形式描述2 存在递归结束的边界条件。优点:化繁为简缺点:递归是最慢的会发生重复计算,时间复杂度成指数级。Fibonacci数列:f(1)=1,f(2)=2,f(n)=f(n-1)+f(n-2)(n>=3)代码演示:/** * f(1)=1,f(2)=2,f(n)=f(
2014-02-08 13:46:42 453
转载 XML解析-DOM4j
xml 是扩展标记语言 extension marked languange .作用:1 可以作为配置文件。2 不依赖任何平台提供数据支持,可以和http超文本提供数据,的作用,简单理解为xml是一种数据记录格式。解析xml文件:方法:常见的三种XML解析方法,即DOM解析、SAX解析、DOM4J解析。这里只介绍最简单常用效果最好的DOM4J解析。eg
2014-02-08 10:28:50 507
原创 生产者与消费者
生产者与消费者模式:目的:优化系统性能。如从远程下载文件,并将这些文件解析。生产者:启一个或多个线程专门从事下载文件,下载ok的文件放进队列queue中。消费者:启一个或多个线程专门从事解析文件,从队列queue中拿文件解析。结构如图:每个线程做自己的事情,当要用到临界资源Queue时,各个线程抢占资源,一旦有一个线程访问Queue,就阻塞(lock)Queue,等
2014-02-07 16:48:20 634
转载 Socket编程
--基本概念所谓网络编程,就是让计算机之间进行相互通讯数据。Java语言提供了一些相对简单的Api来完成这些通信工作,而Socket就是其中之一,它存在于java.net包中。网络编程的基本模型就是客户端到服务器模型。简单的说就是两个进程之间相互通,然后其中一个必须提供一个固定的位置,而另一个则只需要知道这个固定的位置,并去建立两者之间的联系,然后完成数据的
2014-02-07 16:14:28 469
转载 分布式计算
1 分布式计算原理:a 服务器提供接口做成.jar文件给客户端,监听客户端。b 客户端通过服务器提供的接口,调用方法,发送请求给服务器。c 服务器根据请求调用接口实现的方法,并通过Socket将结果给客户端。如图:2 服务端需要.jar: rt.jar 拥有必要的类等: import java.rmi.Naming; import
2014-02-07 16:06:41 526
原创 解析xx.properties文件信息
在某些配置信息需要初始化的时候,为了便于维护和修改,往往选择将他们的配置信息放在一个xx.properties文件中。---------------------------------------------------eg:db.properties文件:#oracledrivername=oracle.jdbc.driver.OracleDriverurl=jdbc
2014-02-07 15:45:23 523
原创 java 缓存jcs
java 缓存jcs:有时候我们需要频繁的访问数据库获得某些数据,这样大大的增加了访问数据库方面的开销,降低了系统的性能。一 解决办法:将数据放进缓存中。二 适用条件:1 需要经常使用2 数据不经常更新三 需要导入jar包:jcs-1.3.jar四 流程向导:五 代码演示:package jcsCache;import java.io
2014-02-07 15:33:04 835
哲学家进餐
2012-05-04
属性文法与语法制导翻译
2012-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人