- 浏览: 15494 次
- 性别:
- 来自: 上海
-
最新评论
文章列表
Java代码
class Parent{
static String name = "hello";
static {
System.out.println("parent static block");
}
{
System.out.println("parent block");
}
public Parent(){
System.out.p ...
1. 异常机制
异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。
传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果是大家约定俗称的),调用该函数的程序负责检查并分析函数返回的结果。这样做有如下的弊端:例如函数返回-1代表出现异常,但是如果函数确实要返回-1这个正确的值时就会出现混淆;可读性降低,将程序代码与处理异常的代码混爹在一起;由调用函数的程序来分析错误,这就要求客户程序员对库函数有很深的了解。
异常处理的流程:
...
线程安全的概念,实现线程安全的几种方法
- 博客分类:
- J2SE
Java 编程语言为编写多线程应用程序提供强大的语言支持。但是,编写有用的、没有错误的多线程程序仍然比较困难。本文试图概述几种方法,程序员可用这几种方法来创建高效的线程安全类。
并发性
只有当要解决的问题需要一定程度的并发性时,程序员才会从多线程应用程序中受益。例如,如果打印队列应用程序仅支持一台打印机和一台客户机,则不应该将它编写为多线程的。一般说来,包含并发性的编码问题通常都包含一些可以并发执行的操作,同时也包含一些不可并发执行的操作。例如,为多个客户机和一个打印机提供服务的打印队列可以支持对打印的并发请求,但向打印机的输出必须是串行形式的。多线程实现还可以改善交互式应用程序的 ...
字符流和字节流的区别、使用场景、相关类
- 博客分类:
- J2SE
Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。
Java 内用 Unicode 编码存储字符,字符流处理类负责将 ...
实现线程安全的几种方法
- 博客分类:
- J2SE
JDK1.5新增的功能
"JDK1.5"的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码 ...
Spring中Quartz的配置
- 博客分类:
- 开源框架
Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz:首先我们来写一个被调度的类:
package com.kay.quartz;public class QuartzJob{ public void work() { System.out.println("Quartz的任务调度!!!"); }}
Spring的配置文件:
<?xml version="1.0" encoding="UTF-8"?><! ...
Java 正则表达式详解
- 博客分类:
- J2SE
如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。
许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。
然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache.org下载源代码开放 ...
JAVA String.format 方法
- 博客分类:
- J2SE
//number
System.out.println(String.format("%d", 2));// 2
System.out.println(String.format("%05d", 2));// 00002
System.out.println(String.format("%-5d", 23));// 23
System.out.println(String.format("%d% d% d", 10, 20, -30));// 10 20-30
Syste ...
按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。
创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:
工厂方法模式(Factory Method Pattern)
抽象工厂模式(Abstract Factory Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)
单例模式(Singleton Pattern)
结构型模式用来处理 ...
先来看一个实例
这个例子很简单,展示了AsyncTask的一种极端用法,挺怪的。
public class AsyncTaskTrapActivity extends Activity {
private SimpleAsyncTask asynctask;
private Looper myLooper;
private TextView status;
@Override
public void onCreate(Bundle icicle) {
super.onC ...
首先简单说下Task和Activity的关系:
Task就像一个容器,而Activity就相当与填充这个容器的东西,第一个东西(Activity)则会处于最下面,最后添加的东西(Activity)则会在最上面。从Task中取出东西(Activity)是从最顶端取出,也就是说最先取出的是最后添加的东西(Activity),以此类推,最后取出的是第一次添加的Activity,而Activity在Task中的顺序是可以控制的,在Activity跳转时用到Intent Flag可以设置新建activity的创建方式;
FLAG_ACTIVITY_NEW_TASK
默认的跳转类型 ...
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
String name = manager.getRunningTasks(1).get(0).topActivity.getClassName();
return name.equals(ControlActivity.class.getName());
注意:getRunningTasks()方法需要权限,请在AndroidManifest.xml中加上
<uses-permis ...
tomcat 优化配置
- 博客分类:
- AS
本文主要收集关于TOMCAT的优化配置设置。
1.精简Tomcat和配置文件
1.删除不需要的管理应用和帮助应用,提高tomcat安全性。 # 删除webapps下所有文件 # rm —fr $CATALINA_HOME/webapps/* # 删除server/wenapps下所有文件 # rm —fr $CATALINA_HOME/server/webapps/* 2.精简sever.xml配置文件 使用tomcat发布版本中的最小配置文件,提高性能,如果有功能上的需求,在逐个的加入功能配置。 # 备份原来的server.xml为server.xml_bak # mv serve ...
tomcat出现的PermGen Space问题
- 博客分类:
- AS
最近做项目碰到了让我纠结的问题,tomcat服务器运行一段时间,总是会自动报异常:java.lang.OutOfmemoryError:
PermGen Space 的错误,导致项目无法正常运行。
出现这个错误的原因,总结一下:
PermGen Space指的是内存的永久保存区,该块内存主要是被JVM存放class和mete信息的,当class被加载loader的时候
就会被存储到该内存区中,与存放类的实例的heap区不同,java中的垃圾回收器GC不会在主程序运行期对PermGen space
进行清理,所以当我们的应用中有很多的class时,很可能就会出现PermGen sp ...
Javascript 面向对象编程
- 博客分类:
- Javascript
学习Javascript,最难的地方是什么?
我觉得,Object(对象)最难。因为Javascript的Object模型很独特,和其他语言都不一样,初学者不容易掌握。
下面就是我的学习笔记,希望对大家学习这个部分有所帮助。
Javascript 面向对象 ...