- 浏览: 1340215 次
- 性别:
- 来自: 北京
最新评论
-
mike_eclipse:
Hashtable是线程不安全的吗?好像是线程安全的吧?
多线程之集合类 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
lodop打印控件 -
xingcxb:
经过测试,假的,依旧会出现中文乱码!!!!store方法里面采 ...
java 读写Properties文件,不会出现中文乱码 -
tiger20111989:
...
Spring注解方式管理事务 -
zw7534313:
...
js 文字上下滚动 无间断循环显示
文章列表
基于Spring IoC容器发布Web服务,能够大大降低WebService实现过程,也能够更好的与企业级应用进行整合,
本文將和大家介绍如何基于Spring和JAX-WS发布WebService。
1.新建Web服务接口和实现类
@WebService
public interface IUserWebService {
public User queryUserById(@WebParam(name = "userId") Integer userId);
public User addUser(User user);
}
@Component
@WebS ...
循环,setTimeout与闭包
for(var i=1;i<=3;i++){
setTimeout(function timer(){
console.log('i='+i);
},i*1000);
}
i=4
i=4
i=4
闭包的方式
for(var i=1;i<=3;i++){
setTimeout(
(function(i){
return function timer(){
console.log('i='+i);
}
})(i)
,i*1000);
}
i=1
i=2
i=3
另一种方式
function fa(i){
set ...
基于SpringBoot2.0的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。
https://github.com/yangzongzhuan/RuoYi
import redis.clients.jedis.Jedis;
public class RedisJava {
private static String host = "192.168.1.101";
public static void main(String[] args) {
//isServerRunning();
// set(); //1.保存放键/值对
// setSigleList(); //2.保存List
// getRedisServerAllKeys(); //3.获取所有的key
/ ...
mybatis调用mysql存储过程
1.mybastis的配置
<select id="grabRedPacketProcedure">
call grabRedPacketProcedure(?,?,?)
</select><parametermap type="java.util.Map" id="paramMap"><parameter property="redPacketId" mode="IN" j ...
//线程池: 只是按初始线程数执行任务,并没有创建新的工作者线程(take给阻塞了,影响吞吐量)public class ThreadPool { //任务队列 private BlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>(); private int poolSize; //初始线程数 private int maxPoolSize; //最大线程数 private int size = 0; //线程数 //运行线程数:工作者 private List<Worke ...
Callable和Future
Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。
Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返回值,
public class Test extends Object{
/**
* @param args
*/
public static void main(String[] arg ...
应用场景:不改变被代理对象的代码,新建动态代理类,并在代理类中增加相应的处理代码。
在目前的Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。 其实现主要通过是java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;
//动态代理设计模式: InvocationHand ...
spring4 线程池:把需要执行的Thread放入线程池中:缓冲队列
<!-- spring线程池 --> <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 线程池维护线程的最少数量 --> <property name="corePoolSize" value="5"/> <!-- 线程池维护线程 ...
Throwable exception; //类 Exception exce; //继承Throwable Error err; //继承Throwable RuntimeException re; //继承Exception, 运行时异常 //Exception与Error 虚拟机是如何处理的? //throw new Error(); //程序中止 //throw new Exception(); //必须try..catch或者throw, 程序可以继续执行, 编译时检查 //运行时检查, 不 ...
线程池的作用:
线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。
为什么要用线程池:
减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务
可以根据系统的承受能力,调整线程池中工作线线程的数目,防止 ...
1. log4j: LogUtil、log4j.properties 多个文件分模块日志 2. spring4AOP编程(注解): 加入aspectjweaver-1.5.3.jar @Aspect 注解 面向切面编程 3. quartz: 定时任务 增加 quartz-2.1.7.jar
<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http:/ ...
概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:
•为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API ...
JAVA 线程同步的几种方式
import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;
public class SynTest {
public static void main(String[] args) throws Exception{ //1.两个线程共享变量,变量值不确定 //nonsyn(); //2.使用线程同步方法:synchronized save1 //syn(); //3.使用volatile 线 ...