Java
文章平均质量分 79
小弟季义钦
好东西要大家分享!
展开
-
java跳出多重循环
package someTest;public class BreakLoops { public void test(){ int i; breakPoint: for(i=0;i<1000;i++){ for(int j=0;j<1000;j++){ if(i+j == 1000) break breakPoint; } }原创 2012-10-31 22:56:25 · 732 阅读 · 0 评论 -
java对象序列化
/** * */package iostream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import原创 2012-10-31 22:47:19 · 724 阅读 · 0 评论 -
Java对象之间的比较之equals和==
/** * */package string;/** * @author Administrator * “==” 比较引用,即判断是否指向同一个对象 * “equals()” 默认是比较引用,包装类重写了这些方法,比较对象内容,我们自己的类一般也重写equals方法 * * equals方法属于Object类,默认的是比较两个对象引用是否相等,即是否指向原创 2012-10-31 22:15:04 · 811 阅读 · 0 评论 -
Java基础:RTTI与反射
转载请注明出处:jiq•钦's technical Blog 1 Class文件:class文件全名称为Javaclass文件,主要在平台无关性和网络移动性方面使Java更适合网络。它在平台无关性方面的任务是:为Java程序提供独立于底层主机平台的二进制形式的服务。每一个类都有一个Class类型的对象,每当一个类被编译,就会产生一个Class对象(保存在同名的.class文原创 2015-06-24 23:58:37 · 1337 阅读 · 0 评论 -
Java基础:动态代理在RPC框架中应用
RPC,远端过程调用。就是调用远端机器上的方法。原理其实很简单,就是客户端上运行的程序在调用对象方法时,底层将针对该方法的调用转换为TCP/HTTP请求,发送到远端服务器,远端服务器监听固定端口,收到这个TCP/HTTP请求后会解析出相关信息,包括客户端想要调用哪个类的哪个方法,参数是什么等,然后进行对应的调用,将调用结果再通过数据包发回即可。 RPC中一般会有一些“契约”的概念,即客原创 2015-06-28 01:21:50 · 5524 阅读 · 0 评论 -
Java基础:字符串
转载请注明出处:jiq•钦's technical Blog (1)String本质:String对象是不可改变的,任何看起来会修改String对象的操作实际上都是创建了一个全新的Sting对象,然后再该全新对象上修改。而效率更高的StringBuilder正好不同。(2)String和StringBuffer的区别:String 类型和 StringBuffe原创 2015-06-23 23:55:11 · 1131 阅读 · 0 评论 -
Java并发:并发编程带来的好处和风险
并发编程之所以让人迷惑是因为有不止一种问题的解决需要使用并发,也有不止一种方法去实现并发,而且他们之间也没有清晰的映射。使用并发编程来解决的问题可以划分为两类,即“speed”和“designmanageability”。 一、速度优势:多处理器:多处理器上面并发变成无疑会让程序运行很快。单处理器:如果是单处理器的机器,那么并发编程可能相对于顺序编程没有什么变化。但是,如果其中某一个任务也许会发生原创 2016-03-29 00:31:15 · 3288 阅读 · 0 评论 -
Java并发:互斥锁和读写锁
互斥锁线程在进入同步代码块之前会自动获取锁,并且在退出同步代码块时会自动释放锁,当某个线程请求一个由其他线程持有的锁时,发出请求的线程就会阻塞。互斥锁其实提供了一种原子操作,让所有线程以串行的方式执行同步代码块。可重入性:某个线程试图获得一个已经由它自己持有的锁,那么这个请求就会成功(重复获取),这就叫互斥锁的可重入性。“重入”意味着获取锁的操作的粒度是“线程”,而不是调用,也就是说一个线程中可以原创 2016-03-29 22:59:06 · 8629 阅读 · 1 评论 -
Thrift学习(1)C#调用Java开发步骤详解
1 下载Thrift下载地址:http://thrift.apache.org/downloadthrift-0.9.3.exe 用于编译Thrift中间文件生成对应语言代码的工具thrift-0.9.3.tar.gz 包含Thrift各个语言的源码库,以及一些测试程序代码等 2 编译生成.NET库(DLL)和Java库(Jar)解压thrift-0.9.3.tar.gz文件原创 2016-01-07 20:07:42 · 3048 阅读 · 0 评论 -
创建型-单例
package singleton;/** * 类型:Creational * 定义:确保一个类只有一个实例,并提供一个全局访问点。 * 代码说明:单例模式在多线程环境中的应用,采用懒加载方式 * */public class Singleton { private static Singleton instance = null; private Singleto原创 2013-03-28 14:38:34 · 1097 阅读 · 0 评论 -
关于部门后端全部转向java前初步设想
Java服务有些什么形式?目前来看主要是以下几类:1、 运行在Web应用服务器的Servlet2、 Thrift、PB、Avro等类似框架写的java服务3、 WebService(JAX-WS、JAX-RS)现在我们服务端要全面转向java。若后端子系统全部用Servlet写,将无法实现跨语言,我们现在客户端大部分还是.NET平台。如果用Thrift等框架,现在满足了.NET调用Java服原创 2016-01-06 00:27:27 · 2333 阅读 · 1 评论 -
最流行的Java应用服务器排行
去年我们发布了 2013 年 Java 应用服务器市场调查。为了验证这个报告是否发送了变化,我们采集了从2月到5月的 783 给不同的配置点。数据通过启动的类路径进行收集,查询类似于 “grep -i tomcat classpath.log”.我们发现这个结果跟去年的差别不大,如下图所示:Tomcat 仍然以 41% 比例高居榜首,不过比起 2013 年的 43% 略有下降。Jetty 占 31转载 2015-07-30 22:22:31 · 2136 阅读 · 1 评论 -
Java基础:初始化和清理
(1) 初始化:所以如果继承关系为:A导出B再导出C,在创建C对象的情况下的调用顺序是: * (1) A的静态域,B的静态域,C的静态域; * (2) A的非静态域,A的构造器,B的非静态域,B的构造器,C的非静态域,C的构造器(2)清理:销毁的顺序应该与初始化的顺序相反。(3)super/this在子类中可以通过super关键字调用父类的方法。也可以通原创 2015-06-22 23:33:22 · 1144 阅读 · 0 评论 -
Java基础:面向对象三大特征、五大原则
面向对象三大特征:(1)封装(Encapsulation)所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数原创 2015-06-22 13:57:20 · 15100 阅读 · 0 评论 -
Java Web应用乱码解决(Tomcat服务器)
转载请注明出处:jiq•钦's technical Blog 一、引言本人对Web编码问题研究也不是太深入,只是在Java Web开发过程中自己和别人都遇到过好几次编码问题,通过网上找了下述五个步骤做了之后100%都能解决: 二、解决方法:1、对于同一个应用,最好统一编码,推荐为UTF-8,当然GBK也可以; 2、正确设置JSP的pageEncoding="UTF-8"; 3、在所有的JSP转载 2015-07-11 20:24:55 · 1402 阅读 · 0 评论 -
Java基础:静态代理和动态代理
转载请注明出处:jiq•钦's technical Blog 一、静态代理:假设原来有一个实现了指定接口/抽象类的子类:class RealSubject implements Subject{ public void request(){ System.out.print("real request handling\n");原创 2015-06-28 01:15:59 · 1794 阅读 · 0 评论 -
Java基础:泛型及其擦除性、不可协变性
转载请注明出处:jiq•钦's technical Blog 1泛型语法:泛型类: class ClassName{}泛型方法:public void f(T x){}基本指导原则:如果使用泛型方法可以取代将整个类泛型化,那么就应该使用泛型方法,因为它可以让事情更加清楚。 2为什么使用泛型?在Java SE1.5之前,没有泛型的情况的下,通过对类型原创 2015-06-29 00:08:24 · 2900 阅读 · 1 评论 -
Java基础:多态(重载和重写)
(1)域与静态方法记住“只有普通方法的调用是多态的”。对于域的访问,在编译期间就已经进行解析和绑定了。而如果某个方法是静态的,就不具备多态性。(2)编写构造器有一条准则: * 用尽可能简单的方法使得对象进入正常状态,尽量避免调用其他方法。 * 构造器内能够安全调用的方法只有那些final方法(private默认final),因为他们无法被覆盖。(3)多态概原创 2015-06-22 23:41:20 · 1318 阅读 · 0 评论 -
HashMap和HashSet深度解析
package container;import java.util.HashMap;import java.util.HashSet;import java.util.Map.Entry;/** * @author jiq408694711@163.com * * 测试HashSet中,通过equals方法检测到重复之后会发生什么。 * 以及测试h原创 2012-10-31 19:02:40 · 904 阅读 · 0 评论