- 浏览: 1369641 次
- 性别:
- 来自: 江西
-
文章分类
- 全部博客 (287)
- oracle (30)
- Java (73)
- MySQL (16)
- Myeclipse/eclipse (12)
- javascript (15)
- JSP/Servlet (7)
- maven (14)
- AJAX (2)
- JQuery (9)
- tomcat (8)
- spring (21)
- Linux (28)
- PHP (9)
- UI (1)
- 编程错误及处理 (38)
- 多线程 (18)
- hibernate (10)
- Web Service (3)
- struts2 (6)
- log4j (3)
- SVN (4)
- DWR (1)
- lucene (1)
- 正则表达式 (4)
- jstl (2)
- SSL (3)
- POI (1)
- 网络编程 (1)
- 算法 (2)
- xml (4)
- 加密解密 (1)
- IO (7)
- jetty (2)
- 存储过程 (1)
- SQL Server (1)
- MongoDB (1)
- mybatis (1)
- ETL (1)
- Zookeeper (1)
- Hadoop (5)
- Redis (1)
- spring cloud (1)
最新评论
-
ron.luo:
牛逼,正解!
maven设定项目编码 -
lichaoqun:
java.sql.SQLException: Can't call commit when autocommit=true -
Xujian0000abcd:
Thanks...
Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the clas -
renyuan2ni:
[i][b][u]引用[list]
[*][img][flas ...
Manual close is not allowed over a Spring managed SqlSession -
851228082:
宋建勇 写道851228082 写道<!-- 文件拷贝时 ...
maven设定项目编码
/** * TraditionalThread.java * cn.com.songjy.test.socket.thread * Function: TODO * * version date author * ────────────────────────────────── * 1.0 2013-8-15 songjy * * Copyright (c) 2013, TNT All Rights Reserved. */ package cn.com.songjy.test.socket.thread; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * ClassName:TraditionalThread * * @author songjy * @version 1.0 * @since v1.0 * @Date 2013-8-15 下午8:51:31 */ public class TraditionalThread { private static Log log = LogFactory.getLog(TraditionalThread.class); public static void main(String[] args) { /*********线程一*********/ Thread thread1 = new Thread() { @Override public void run() { while (true) { try { Thread.sleep(500); } catch (InterruptedException e) { log.error(e.getMessage(), e); } log.info("11:" + Thread.currentThread().getName()); log.info("12:" + this.getName());// 不推荐 } } }; thread1.start(); /*********线程二*********/ Thread thread2 = new Thread(new Runnable() { @Override public void run() { while (true) { try { Thread.sleep(500); } catch (InterruptedException e) { log.error(e.getMessage(), e); } log.info("21:" + Thread.currentThread().getName()); // log.info("22:" + this.getName());// 此处不能使用this } } }); thread2.start(); /*********线程三*********/ //猜猜看本线程打印出的是【31Runnable:+线程名】还是【31+线程名】 new Thread(new Runnable(){ @Override public void run() { while (true) { try { Thread.sleep(500); } catch (InterruptedException e) { log.error(e.getMessage(), e); } log.info("31Runnable:" + Thread.currentThread().getName()); } }}) { @Override public void run() {//运行的是此方法,因为子类覆盖(重写)了父类方法,运行的将是子类方法,这是面向对象的一个重要特性 while (true) { try { Thread.sleep(500); } catch (InterruptedException e) { log.error(e.getMessage(), e); } log.info("31:" + Thread.currentThread().getName()); } } }.start(); } //多线程不一定执行效率快,好比一个人做馒头给3个桌面上人吃,在一个桌面上做自然比给每个人一个桌面上做一个又跑到另一个桌面上快 //多线程下载是抢资源,服务器为一个线程分配20k,我多开线程下载,自然分配的带宽就多了 }
引自
http://down.51cto.com/data/443405
发表评论
-
java.io.NotSerializableException: java.util.ArrayList$SubList
2016-03-15 11:36 2810错误信息: 原代码: if (null != dto ... -
java.lang.NoSuchMethodError
2015-10-30 19:50 1107在执行命令 java -Djava.ext.dirs=./de ... -
OutOfMemoryError
2015-01-07 10:49 655错误信息: 执行命令(修改前): java -Djava. ... -
自定义ClassLoader
2014-12-14 17:13 866一、自定义类加载器代码: package foo; im ... -
ExecutorService.shutdown()应该是在线程执行完毕后,才会去关闭
2014-04-29 13:03 19514看到一个博客,如下 Jav ... -
URL传递中文参数乱码问题
2014-03-14 12:55 1122项目特殊要求,form表单使用get方式提交,由此出现了中文乱 ... -
Java使用正则进行奇偶替换
2013-12-30 11:20 1566/** * 将位于偶数位的数字1替换为2 */ ... -
Java调用ping命令
2013-11-26 10:26 3654package cn.com.songjy; impor ... -
Linux开机启动Java程序
2013-11-25 15:26 3553一、编写启动Java程序shell脚本(smssend.sh) ... -
单例模式
2013-11-05 09:58 766Java之美[从菜鸟到高手演变]之设计模式 Java开发中 ... -
判定2个对象相等之重写equals方法
2013-10-18 11:03 1065package cn.com.songjy.test; ... -
SAX解析XML文件示例
2013-09-13 17:32 1019package cn.com.songjy.test.xml; ... -
二分查找算法(Binary Search)
2013-09-13 17:01 2383项目中遇到需要从数组中查找数据,但是算法很多,于是根据项目需求 ... -
Iterate over rows and cells(EXCEL文件的读取)
2013-09-13 14:13 4071package cn.com.songjy.test.exce ... -
jdk1.5的Exchanger同步工具
2013-08-27 14:04 670package cn.com.songjy.test.sock ... -
jdk1.5的CountDownLatch同步工具
2013-08-27 13:37 774package cn.com.songjy.test.sock ... -
jdk1.5的Semaphere同步工具
2013-08-23 14:20 1068package cn.com.songjy.test.so ... -
jdk1.5条件阻塞Condition的应用
2013-08-23 09:42 1338package cn.com.songjy.test.sock ... -
jdk1.5读写锁技术的妙用
2013-08-19 22:00 1374/** * ReadWriteLockTest.java ... -
jdk1.5的线程锁技术
2013-08-19 20:25 947/** * LockTest.java * cn.co ...
相关推荐
资源名称:Java多线程与并发库高级应用视频教程22集资源目录:【】01传统线程技术回顾【】02传统定时器技术回顾【】03传统线程互斥技术【】04传统线程同步通信技术【】04传统线程同步通信技术_分割纪录【】05线程...
编译回顾中提到,编译是将高级语言转换为机器语言的过程,包括词法分析、语法分析、语义分析、生成中间代码和代码优化五个阶段。代码优化是为了提高程序运行效率,包括时间效率(减少运行时间)和空间效率(减少内存...
随着技术的进步,诸如铜连线技术也被引入,取代了传统的铝连线,以提高导电性能和芯片效率。 CPU的性能不仅取决于其内部的晶体管数量,还受到诸如时钟频率、缓存大小、架构设计等因素的影响。例如,Intel的Pentium ...
1.3 回顾与展望 1.3.1 UNIX 好在哪里 1.3.2 UNIX 的误区在哪儿 1.4 本书的范围 1.5 参考文献 第2 章 进程与内核(17) 2.1 简介 2.2 模式.空间和上下文 2.3 进程抽象 2.3.1 进程状态 2.3.2 进程上下文 2.3.3 用户凭证 ...
核心技术篇(7~17章),系统深入地讲解了网络、XML和JSON、用户数据保存、安全、多媒体、绘图、动画、多点触摸和手势、GPS、重力感应、本地化、多线程、并行编程、通知、通讯簿等与企业级应用相关的核心技术特性,...
核心技术篇(7~17章),系统深入地讲解了网络、XML和JSON、用户数据保存、安全、多媒体、绘图、动画、多点触摸和手势、GPS、重力感应、本地化、多线程、并行编程、通知、通讯簿等与企业级应用相关的核心技术特性,...
在编程实现过程中,充分利用LabWindows/CVI提供的多线程技术,保证了数据采集和处理的并行性,提升了系统的响应速度和处理效率。经过测试,该软件表现出良好的界面显示效果和用户操作体验,程序设计逻辑清晰,性能...
14. **数字化、网络化、电子化、虚拟化**:这些概念体现了信息化社会的趋势,物业管理系统的开发就是这一趋势的具体体现,通过网络技术将传统物业管理转化为在线服务。 综上所述,该毕业论文详细阐述了一个基于JAVA...
- **Java技术**:作为后端开发的主要语言,提供面向对象的编程模型,支持多线程和网络通信,适合构建大型分布式系统。 - **MySQL数据库**:开源、关系型数据库,适用于存储和管理大量结构化数据,具有高效率和稳定...
首先,我们回顾一下传统的客户端-服务器架构。在早期,开发者通常会构建包含所有GUI代码和大部分业务逻辑的Windows应用程序。这种模式虽然简单,但当业务规则需要变更时,维护和扩展变得困难。为了改善这种情况,...
利用JAVA的多线程技术,模拟实验过程中信号的变化,动态展示实验结果。同时,通过事件驱动机制,实现用户与虚拟设备的实时交互。 3.4 数据管理 Access2007数据库用于存储用户的实验数据、进度和成绩,便于教师跟踪...
首先,让我们回顾一下传统的并发实现方式。以商品详情页面的展示为例,通常的做法是创建一个线程池,将各个服务调用封装成单独的线程任务,并提交到线程池执行,如下所示: ```java ExecutorService ...
14_传统链表和非传统链表 15_链表的技术体系推演 16_通用链表库集成和测试 17_C提高课程_day05-day07_知识体系梳理_传智扫地僧 源码及文档 第二部分 C++基础目录 01_C++基础课程的安排和需要持之以恒的学习态度 02_...
NIO引入了选择器(Selector)和通道(Channel)的概念,允许单线程同时处理多个连接,提高了服务器的并发性能。例如,使用Selector可以监控多个SocketChannel,当某个通道准备好进行读写时,Selector会通知应用程序...
首先,我们来回顾一下传统的for循环语法: ```javascript for(var i = 0; i ; i++) { // 对arrays[i]进行处理 } ``` 这段代码适用于遍历数组中的所有元素。然而,当数组非常大时,每次循环都要检查`arrays.length...