- 博客(28)
- 资源 (7)
- 问答 (2)
- 收藏
- 关注
原创 Tomcat线程池详解
写在前面的话 最近一直都在研究Java的线程池ThreadPoolExecutor,但是虽然它那么好,但是在实际的用途中怎么去用,对于我来说就不知道如何下手了,还好有开源社区我们可以了解很多项目中所运用到的线程池,比如最熟悉的就是Apache Tomcat了,相信都对它不默生,一个Apache软件基金下的一个开源Web容器,所以今天就来聊一下Tomcat的线程池实现。准备工作 首先去Apache
2016-11-14 18:48:08
6646
翻译 线程池工作机制与原理
书接上文,Java线程池。 接下来记录一下线程池的工作机制和原理线程池的两个核心队列: - 线程等待池,即线程队列BlockingQueue。 - 任务处理池(PoolWorker),即正在工作的Thread列表(HashSet)。线程池的核心参数: - 核心池大小(corePoolSize),即固定大小,设定好之后,线程池的稳定峰值,达到这个值之后池的线程数大小不会释放。 - 最大处理线
2016-11-10 18:19:39
6355
翻译 Java线程池
简述在面向软件编程中,创建和销毁对象是一件非常耗时的事情,因为创建一个对象要获取内存资源或者其它更多的资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能在对象销毁时进行回收。所以提供程序效率的方法就是减少对象的创建和销毁。如何利用已有的对象来服务就是一个需要解决的问题。Java线程池实现了一个Java高并发的、Java多线程的、可管理的统一调度器。java.util.concurrent
2016-11-09 17:05:59
639
转载 Netty初探
Netty是一个高性能事件驱动的异步的非阻塞的IO(NIO)框架,用于建立TCP等底层的连接,基于Netty可以建立高性能的Http服务器。支持HTTP、WebSocket、Protobuf、Binary TCP和UDP,Netty已经被很多高性能项目作为其Socket底层基础,如PlayFamework和Cassandra。其对手是:Apache Mina和Grizzly。传统的阻塞IO读取入下:
2016-11-09 13:45:28
430
原创 线程的生命周期
线程的生命周期线程的生命周期一共有5个状态:new、runnable、running、blocked、dead。线程生命周期的5种状态线程常用方法 1.线程的生命周期 (1)新建(new Thread):当创建Thread类的一个实例(对象)时,此线程进入新建状态(未被启动),也就说处于新生状态的线程有自己的内存空间,但该线程并没有运行。此时线程还不是活着的(not alive)。例如:
2016-09-12 14:13:53
511
原创 Java的4种单例模式
Java的4种单例模式第一种:线程不安全,不正确的写法class Singleton{ private static Singleton instance; private Singleton(){ } public static Singleton getInstance(){ if(instance==null){ inst
2016-07-27 18:00:21
434
原创 MySQL索引
MySQL索引 索引有利于快速查找某个列中特定值的行。不使用索引,MySQL必须从第1条记录开始读完整个表,直到指出相关的行。表越大,查询数据所花费的时间越多。如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻数据文件,而不必查看所有数据。1 索引的分类 MySQL的索引可以分为以下几类: 普通索引和唯一索引 单索引和组合索引 全文索引
2016-05-24 11:13:26
693
原创 MySQL常见运算符
MySQL常见运算符 运算符连接表达式中各个操作数,其作用是用来指明对操作数所进行的运算。常见的运算有数学计算、比较运算、位运算以及逻辑运算。运用运算符可以更加灵活地使用表中的数据,常见的运算符类型有:算术运算符,比较运算符,逻辑运算符,位运算符等。1.1 运算符概述 运算符是告诉MySQL执行特殊算术或逻辑操作的符号。MySQL的内部运算符很丰富,主要有四大类:算术运算符、比较运
2016-05-22 23:14:58
46911
原创 MySQL数据类型
MySQL数据类型MySQL数据类型 MySQL支持多种数据类型,主要有数值类型、日期/时间类型和字符串类型。数值数据类型:包括整数类型TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、浮点小数数据类型FLOAT和DOUBLE、定点小树类型DECIMAL。日期/时间类型:包括YEAR、TIME、DATE、DATETIME和TIMESTAMP。字符串类型:包括CHAR
2016-05-22 16:33:48
1149
原创 MySQL基本操作命令
MySQL基本操作命令查看数据表结构:(DESCRIBE|DESC) 表名 DESC tb_emp;查看表详细结构语句:SHOW CREATE TABLE <表名\G> SHOW CREATE TABLE tb_emp;修改表名:ALTER TABLE <旧表名> RENAME [TO] <新表名> ALTER TABLE tb_emp RENAME tb_emp_info;修改字
2016-05-22 13:47:59
442
原创 Java布局管理器组件
Java布局管理器组件所谓布局管理器,就是为容器内的组件提供若干布局策略,每个容器都拥有某种默认布局管理器,用于负责其内部组件的排列。目前开发中,常用的布局管理器有BorderKayout、FlowLayout、GridLayout、GridBagLayout、CardLayout、BoxLayout、SpringLayout、GroupLayout等:布局管理器种类BorderLayoutF
2016-05-09 19:25:26
9611
翻译 Java设计模式之简单工厂模式
Java设计模式之简单工厂模式近来在学习Java的设计模式,一直觉得设计模式很难,所以一直没有去接触,一则是工作比较忙没有闲工夫去学习,二来是因为自己比较懒所以也懒得动,幸亏今天在公司还挺闲的,所以找了一本书来学习下Java的设计模式。简单工厂的定义应用简单工厂来解决问题的思路简单工厂的结构和说明简单工厂代码使用简单工厂重写示例模式讲解简单工厂中方法的写法简单工厂的优缺点思考简单工
2016-04-25 17:33:21
4367
原创 Linux文件与文件系统的压缩与打包
Linux文件与文件系统的压缩与打包进来在学习Linux了,不过Linux的命令太多了,怕记不住所以使用博客记录的方式来写下自己的学习过程,以后忘记了还可以翻阅自己写下的博客来查查:Linux系统常见的压缩命令Compressgzip,gcatbzip2,bzcat打包命令:tarLinux系统常见的压缩命令 Linux的环境下,压缩文件大多扩展名是*.tar, *.tar,*.gz
2016-04-23 23:31:37
3865
原创 Windows10与CentOS的完美结合
Windows10与CentOS的完美结合因为最近在学习Linux,觉得Linux非常好用,但是因为之前系统安装了Windows10,所以不得不重新划分磁盘让Linux与Windows系统能与之共存:Windows10安装Windows10磁盘划分U盘安装CentOS7系统设置U盘启动初遇CentOSCentOS安装引导修复总结Windows10安装 由于Windows10的安
2016-04-21 12:09:00
18257
1
原创 Android之原生动作
Android之原生动作原生Android应用程序也可以使用一个Intent来启动Activity和子Activity。下面的不完整列表列出了某些原生动作,它们都是Intent类中的静态字符串常量。在创建隐式的Intent来启动应用程序内的Activity或者子Activity的时候,可以使用这些动作(称为ActivityIntent)。ACTION_ALL_APPS:
2015-12-25 23:13:10
647
原创 Android之Toast
Android之ToastToast是短暂出现的通知,它们只显示几秒钟就会消失。Toast不会获取焦点,并且是非模态的,所以它们不会打断当前活动的的应用程序。对于有些事件,需要通知用户,但有不需要它们开打一个Activity或者阅读一个Notification,此时Toast就是最好的选择了。Toast提供了一种理想的机制来通知用户后台Service所发生的事件,而又不打断前台的应
2015-12-25 22:01:21
549
原创 Android之Application简介
Android之Application简介每次应用程序运行时,应用程序的Application类都保持实例化状态。与Activity不同,配置改变并不会导致应用程序重启。通过其扩展Application类,可以完成以下3项工作:对Activity运行时广播的应用程序级事件(如低内存)作出响应。在应用程序组件之间传递对象。管理和维护多个应用程序组件使用的资源。其中,后两项
2015-12-24 21:30:17
461
原创 Android之Activity生命周期
Android之Activity生命周期首先我们还是来看一下Android API提供的Activity生命周期图,如下图所示。可以看出,一个Activity的生命周期会经历onCreate()→onStart()→onResume()→onPause()→onStop()→onDestroy()这几个过程。不过光看图还是有点抽象,下面我们结合一个小例子来熟悉一下Activity的生命
2015-12-23 10:58:25
612
原创 Android四大组件之Content Provider
Android四大组件之Content ProviderContent Provider是Android提供的第三方应用数据的访问方案。在Android中,对数据的保护是很严密的,除了放在SD卡中的数据,一个应用所持有的数据库、文件等内容,都是不允许其它程序直接访问的。Android当然不会真的把每个应用都做成一座孤岛,它为所有应用都准备了一扇窗,这就是Content Provider
2015-12-22 23:01:08
777
原创 Android四大组件之Broadcast
Android四大组件之Broadcast在android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的Broadcast进行过滤接收并响应的一类组件。可以使用BroadcastReceiver来让应用对一个外部的事件作出响应。这是非常有意思的,例如,当电话呼入这个外部事件到来的时候,可以利用BroadcastRe
2015-12-22 21:45:26
706
原创 Android四大组件之Service
Android四大组件之ServiceService是Android系统中的一种组件,它跟Activity的级别差不多,但是它不能自己运行,只能后台运行,并且可以和其它组件进行交互。Service是没有界面的长生命周期的代码。Service是一种程序,它可以运行很长时间,但是它却没有用户界面。这么说有点枯燥,来看个例子,打开一个因为播放器的程序,这个时候若想要上网了,那么,我们打开Androi
2015-12-22 15:36:07
685
原创 Android四大组件之Activity
Android四大组件之Activity最近在看Android的书籍,所以有时间复习一下Android的四大组件。Android开发四大组件分别是:活动(Activity):用于表现功能。服务(Service):后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供器(ContentProvider):支持在多个应用存储和读取数据
2015-12-22 14:43:39
822
原创 Android发展史
Android的诞生Android操作系统最初由Andy Rubin开发,刚开始主要支持手机,被Google收购后,对Android进行了改良,使其可以用于平板电脑等其它领域。1.1.1 Android的发展史Android的发展史如下:2003年10月,Andy Rubin等人创建了Android公司,并组建了Android团队。2005年8月17日,Google
2015-12-22 13:53:39
1606
原创 HTTP状态码
Android你来我往之Intent Android中提供了Intent机制来协助应用程序的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在这里起着一个媒介中心的作用,
2015-10-20 14:00:49
696
原创 揭开Android神秘面纱之Activity
揭开Android神秘面纱之Activity 人生四大乐事(1.久旱逢甘霖 2.他乡遇故知 3.洞房花烛夜 4.金榜题名时),今天我们就好好来讲讲四大乐事之一吧-洞房花烛夜。古时候嫁娶可不比现在,那时候的男女彼此难能见上一面,一般都是父母之命或者媒妁之言,一般经过很多繁杂的程序最后到迎娶新娘子,不过男女双方到洞房之前新娘子是还未能与新郎见一面的,所以拜完天地之后就是陪着客人饮酒,这是新娘已经送
2015-10-14 16:34:18
495
原创 Android系统架构
Android系统架构终于准备开始好好学习Android了,正所谓千里之行,始于足下,要学习Android是一条路漫漫其修远兮之路,必须得一步一步把基础给打牢了,所以今天就来给大家介绍一下我们的Android架构吧!Android架构图如下图所示:如上图所示,Android的系统架构大致就是这样了,可谓一目了然,我们也不得不佩服一下Android的架构设计人员,设计Android架构也是下了一番苦心
2015-10-14 11:03:55
808
原创 Struts2深入理解
Struts2的体系结构一个初始化的请求到达Servlet容器后,将被传递给一个标准的过滤器链。这个过滤器包括了可选的ActionContextClearUp过滤器,当你的Struts2Web应用程序中集成SiteMesh时,将会用到这个过滤器。接下来,必须的FilterDispatcher被调用时,它轮询ActionMapper以便确定这个请求是否应该调用一个action。如果Actio
2014-12-03 17:10:12
1228
JAVA-2020-核心知识点整理大全.zip
2020-04-15
jmxtools-1.2.1.zip
2019-08-03
C#音乐播放器
2014-03-20
Logback如何根据日志名称输出日志到日志文件?
2016-09-21
Struts2搭配Ajax上传图片时无法保存gif动态图片?
2014-11-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人