- 浏览: 1379330 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (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 2862错误信息: 原代码: if (null != dto ... -
java.lang.NoSuchMethodError
2015-10-30 19:50 1230在执行命令 java -Djava.ext.dirs=./de ... -
OutOfMemoryError
2015-01-07 10:49 675错误信息: 执行命令(修改前): java -Djava. ... -
自定义ClassLoader
2014-12-14 17:13 886一、自定义类加载器代码: package foo; im ... -
ExecutorService.shutdown()应该是在线程执行完毕后,才会去关闭
2014-04-29 13:03 19571看到一个博客,如下 Jav ... -
URL传递中文参数乱码问题
2014-03-14 12:55 1153项目特殊要求,form表单使用get方式提交,由此出现了中文乱 ... -
Java使用正则进行奇偶替换
2013-12-30 11:20 1592/** * 将位于偶数位的数字1替换为2 */ ... -
Java调用ping命令
2013-11-26 10:26 3710package cn.com.songjy; impor ... -
Linux开机启动Java程序
2013-11-25 15:26 3585一、编写启动Java程序shell脚本(smssend.sh) ... -
单例模式
2013-11-05 09:58 789Java之美[从菜鸟到高手演变]之设计模式 Java开发中 ... -
判定2个对象相等之重写equals方法
2013-10-18 11:03 1095package cn.com.songjy.test; ... -
SAX解析XML文件示例
2013-09-13 17:32 1046package cn.com.songjy.test.xml; ... -
二分查找算法(Binary Search)
2013-09-13 17:01 2446项目中遇到需要从数组中查找数据,但是算法很多,于是根据项目需求 ... -
Iterate over rows and cells(EXCEL文件的读取)
2013-09-13 14:13 4096package cn.com.songjy.test.exce ... -
jdk1.5的Exchanger同步工具
2013-08-27 14:04 700package cn.com.songjy.test.sock ... -
jdk1.5的CountDownLatch同步工具
2013-08-27 13:37 812package cn.com.songjy.test.sock ... -
jdk1.5的Semaphere同步工具
2013-08-23 14:20 1092package cn.com.songjy.test.so ... -
jdk1.5条件阻塞Condition的应用
2013-08-23 09:42 1363package cn.com.songjy.test.sock ... -
jdk1.5读写锁技术的妙用
2013-08-19 22:00 1392/** * ReadWriteLockTest.java ... -
jdk1.5的线程锁技术
2013-08-19 20:25 962/** * LockTest.java * cn.co ...
相关推荐
资源名称:Java多线程与并发库高级应用视频教程22集资源目录:【】01传统线程技术回顾【】02传统定时器技术回顾【】03传统线程互斥技术【】04传统线程同步通信技术【】04传统线程同步通信技术_分割纪录【】05线程...
传统线程技术回顾 - Java中的线程可以通过继承`Thread`类或实现`Runnable`接口来创建。 ##### 2. 传统定时器技术回顾 - 定时器(`Timer`)类可以用来定期执行任务。 ##### 3. 传统线程互斥技术 - 线程间的互斥通常...
为了解决这一问题,本文提出了一种基于Linux操作系统和多线程技术的视频图像平滑度评价算法。 在Linux环境下,多线程技术可以充分利用多核处理器的计算能力,提高程序并行处理效率。通过将视频处理任务分解成多个...
未来,随着下一代安腾处理器“Poulson”的推出,预计将采用更为先进的32nm CMOS工艺,配备8个核心并支持超线程技术,提供高达50MB的缓存容量,以及更高的处理能力和内存带宽,这或许会为安腾系列带来新的转机。...
**编译回顾**: 编译是将高级语言转换为机器语言的过程,包括词法分析、语法分析、语义分析、生成中间代码和代码优化五个阶段。代码优化旨在提高程序运行效率,包括时间效率(减少运行时间)和空间效率(减少内存...
传统的同步阻塞I/O模型,每个请求对应一个进程或线程,当请求数量增大时,会导致大量的上下文切换、资源浪费和性能瓶颈。 为了解决C10K问题,主要关注两个核心挑战:一是如何在一个线程内处理多个网络I/O请求,二是...
编译回顾中提到,编译是将高级语言转换为机器语言的过程,包括词法分析、语法分析、语义分析、生成中间代码和代码优化五个阶段。代码优化是为了提高程序运行效率,包括时间效率(减少运行时间)和空间效率(减少内存...
文章首先回顾了现有的数据访问缓存技术,并针对其存在的局限性,提出了一种新的框架模型,旨在通过整合多种缓存策略,优化硬件资源利用,避免系统过载,同时提升数据的重用性和减少数据库访问负担,从而显著增强数据...
回顾微处理器的发展历程,从早期的简单结构到复杂的流水线设计,再到RISC体系结构的简化,以及后续复杂度的再次提升,这一螺旋式的演变反映了技术和需求的不断变化。进入多核时代,半导体工艺的进步、时钟频率的制约...
通过这些详细的技术点,本文给出了一个关于基于Java技术的Web应用设计模型比较研究的全面知识回顾。这些知识点的涵盖为Java Web开发人员提供了一个理论和实践相结合的丰富资源,有助于他们设计、实现和测试性能更优...
2. **并行编程基础**:学会如何在多核平台上编写高效的并行程序,熟悉并行编程的基本概念和技术,如多线程编程、OpenMP等。 3. **程序优化与调试**:掌握使用专业工具对并行程序进行优化和调试的方法,提高程序的...
随着技术的进步,诸如铜连线技术也被引入,取代了传统的铝连线,以提高导电性能和芯片效率。 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 用户凭证 ...
虽然现在网络蚂蚁已经有更新的版本,但这个老版本对于回顾互联网历史和技术发展具有一定的参考价值。 总之,网络蚂蚁1.25作为一款经典的下载工具,它在断点续传、多线程下载和跨浏览器支持等方面的创新,对后来的...
在深入探讨异步开发框架之前,我们先来回顾一下传统的同步阻塞模式存在的主要问题: 1. **并发请求数受限**:每个连接都需要一个独立的线程来进行处理,导致处理能力受限。 2. **连接数受限**:对于大规模并发连接...
NIO引入了选择器(Selector)和通道(Channel)的概念,允许单线程同时处理多个连接,提高了服务器的并发性能。例如,使用Selector可以监控多个SocketChannel,当某个通道准备好进行读写时,Selector会通知应用程序...