- 浏览: 26788 次
- 性别:
- 来自: 上海
最新评论
文章列表
防御式编程是一种主动预防问题的编码风格,作为一种编程实践,防御式编程是由很多小目标融合而成的,例如编写具有可读性的代码、正确的命名规则、检查所有函数的返回值、以及运用设计模式。在防御式编程里,细 ...
执行反射之前执行field.setAccessible(true); 可以提高JDK反射效率。在此之前先澄清一下对于setAccessable的误解。先看一个例子
package com;
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
...
一、运行程序看结果
有这样一段代码,你是否知道运行结果并作出合理的解释。
一个简单的实体类Person,里面只有一个name属性:
publicclass Person {
public String name;
}
收藏一篇介绍字符编码的文章:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
1. ASCII码
我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进 ...
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两种。 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。
首先看一下静态代理:
...
一 线程的基本概念:线程是一个程序内部的顺序控制流,一个进程相当于一个任务,一个线程相当于一个任务中的一条执行路径。多进程:在操作系统中能同时运行多个任务(程序);多线程:在同一个应用程序中有多个顺序流同时执行;Java线程是通过java.lang.Thread类来实现的;VM启动时会有一个由主方法(public static void main(){})所定义的线程;以通过创建Thread的实例来创建新的线程每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体通过调用Thread类的start()方法来启动一个线程
二 Java线程的创建和 ...
a.语句select distinct a,b,c from t_table与select distinct a from t_table在查询结果上的区别。 区别:select distinct a,b,c from t_table 查找a+b+c列都不重复的。select distinct a from t_table 查找a列不重复的。b. distinct 修饰是针对行,不要误以为是针对首字段。 即,不是误以为select distinct (a),b,c from t_table只是查询出a列不重复的数据(以前我一直是这么认为的)。c. 微软建议只用1列 大多用在聚合函数里 不 ...
在与同事的交流中,广州的一同事提到了“数据反持久化”的设想,即用数据库表直接生成对应的JavaBean(或Java对象)。我的第一反应就用Java的内省机制与反射机制来组装对象。但后来尝试着具体实现的时候却发现我需要组装的对象成了“无源之水,无本之木”这时我才意识到没有类,对象从何而来呢?立即我又想到是否可以动态的生成这些类然后再进行动态编译,这样一来问题就迎刃而解了。后来也证实这种想法是成立的,即使问题解决了,不过却让我对另外一个问题产生了思考——面向对象。什么是面向对象?对这个问题的回答最著名的还属Bruce Eckel在think in java中提到的“万物皆对象”, ...
sql的查询语句执行顺序
- 博客分类:
- 数据库
转载一篇不错的文章:http://ddlgyq.iteye.com/blog/1867867
sql语言中的查询的执行顺序,以前不是很了解,最近查阅了相关资料,在sql语言中,第一个被处理的字句总是from字句,最后执行的limit操作。现有以下的sql语句。
(8)SELECT (9)DISTINCT<select_list>
(1)FROM<left_table>
(3)<join_type>JOIN<right_table>
(2) ON<join_condition& ...
作为对象的创建模式[GOF95], 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 显然单例模式的要点有三个;一是某各类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
单例模式三种实现
java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。
1.饿汉式单例
package com;
/**
*
*
* 项目名称:singleton
* 类名称:EagerSingleto ...
今天在用svn提交项目时,发现提交不了,提示拒绝访问,看了一下提示是无权限的意思。于是将服务器的权限设置了一下,但依然无效。最后查到原因是svn地址有大小写的区别。
原因和解决办法:
原因:SVN在Check out 等操作时,是URL大小写不敏感的,可在Commit /delete时却是在大小写敏感的,所以在设定SVN的服务器路径时,一定要注意大小写。
解决办法:右键在工作复本的根目录上右键->TortoiseSVN->重新定位 (Relocate),然后修改URL就可以提交了。
表单提交中Get和Post方式的区别有5点 1. get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制, ...
一个webservice客户端纠结了我一个星期的时间,让我天天做噩梦。网上的资料都只讲到怎么在webservice工程中生成xfire框架的客户 端。后来尝试多次发现无法在web project工程中直接生成xfire的客户端。甚至我将独立的一个webservice工程打成jar包发部到web project项目中以无济于事最后让我神经崩溃……一段不到一百行的代码解救了我,不用引jar包,不借助任何框架。自己封装,纯天然纯绿色。
webservice客户端封装类:
public class ServiceUtil {
public static String get ...
基金的净值是指你所买的基金现在每股的价值,而累计净值是包括你所买的基金除了它现在的市场价值加上每股基金所分到红利加到一块的价值。如果你 想赎回应该看它的净值而不是累计净值,基金增长是看它今天的净值和你买时每股的基金作比较或者和你前天做比较,如果比你买时高,说明现在你买的基金涨了。
单位净值:
基金单位净值(Net Asset Value,NAV)即每份基金单位的净值,等于基金的总资产减去总负债后的余额再除以基金的单位份额总数,代表了基金持有人的权益。单位基金资产净值, 即每一基金单位代表的基金资产的净值。基金单位净值是在某一时点每一基金单位(或基金股份)所具 ...
股票价格变动的原因在于有买进和卖出的人在不同的心理价格上进行下单,从而产生了股票价格的变动。一般来说,股票在早晨9点15分到25分集合竞价时间结束以后就进入了撮合成交的交易时间。也就是通常大家看到的9点半到下午3点这一段时间的交易,都是撮合成交的。 简单来说,目前股票价格20元,有人想在20元卖出,有人想在20元买进,还有人想在20.1元卖出,有人想在19.9元买进。也就是通常大家看到的有买一,买二,买三;卖一卖二卖三等盘口买单卖单的堆积数。比如当20.1元位置的买卖双方撮合成功,那股票价格就从20元到了20.1元。如果有大笔资金买入某只股票,就容易出现股价单边上涨的走 ...