- 浏览: 15663 次
- 性别:
- 来自: 北京
最新评论
文章列表
MMODemo.java
package dingchd;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.MethodVisitor;
import org.obj ...
路漫漫其修远贫,吾将上下而求索
Java 语言
1)描述Java语言的特点,同C相比编程思维如何
2)Java内置的数据类型及其位数
3)char能否存储一个汉子?Unicode和utf-8的编码是什么?
4)引用同对象的区别?引用和对象通常 ...
题目论述:12个长相一样的球中仅有1个球与其他球质量不同,且不确定是重还是轻。请用天枰进行不超过三次的称重,检测出是哪个球与众不同,并且要得出是重还是轻的结论。
为叙述方做如下定义。
定义1:与众不同的球为X球,11个相同的球为O球,若与众不同的球比其他11个球重,则为重球,否则为轻球。
定义2:称重中若球
RESTful webservice相比SOAP webservice复杂度低很多,REST鼓励无状态设计,完全由http协议,且返回值为json
本文设计基于Servlet请求转发的一个超轻量级的REST框架(某种程度也可视为MVC框架)
类UML如下图:
ClassParser扩展自ClassVisi ...
考虑以下情形:一个控制中心对一些资源进行操作,资源之间的关系为层级,如下图uml
基地—》车间—》工作台—》工作流
每一个对象都包含一些操作,比如基地:建造基地、升级基地、销毁基地、创建车间。。。
车间:建造车间、升级车间、销毁车间、创建工作台。。。
工作台。。。工作流。。。
1.不同的车间之间的操作可并行执行,同一车间下的不同工作台可并行操作,同一工作台下的不同操作需要同步执行,若车间内某个工作台正在执行某个操作,那么该车间将同步该操作后才可对该车间进行操作。
2.操作未必是针对单一元素,比如车间A的工作台1、2、3
java多线程点滴记录2
- 博客分类:
- java
经过某项目A的代码监察,发现很多多线程开发中易忽视的问题,以记录之。
1. 可能存在并发访问的对象没有同步控制
此为最典型的缺乏同步控制,对某些框架中的类不熟悉其使用
比如Servlet类本身是非线程安全的
比如 ...
代码:
package conSet;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
/**
* 并发单向队列简单实现
*
* @author dingchd
*
* @param <T>
*/
public class NoBlockQueue<T> {
private Node<T> header;
private AtomicReferenc ...
问题:你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤。怎么运送才能运最多的煤到集市?解:初始3000,每次最大运输1000,最多折返次数2
设折返次数2的运输距离为x,折返次数1的运输距离为y,直线行进距离为z
则,则目标煤如下:
g=3000-5x-3y-z
其中 x+y+z=1000
折返次数2同折返次数1的衔接关系有:
1000<=3000-5x<=2000
折返次数1同折返次数0的衔接关系有:
3000-5 ...
Q:查看所有低于部门平均工资的所有员工
表结构:
CREATE TABLE 'pp'(
'id' tinyint(4) default NULL,
'num' int(11) default NULL,
'name' varchar(255) default NULL,
'bm' varchar(255) default NULL
} ENGINE=InnoDB DEFAULT CHARSET=utf8;
A:sql语句如下
select pp.name,pp.num,pp.bm from pp,(select avg(num) as k,bm from pp group by bm) ...
java.lang.Thread.State描述了线程的六个状态:
NEW:A thread that has not yet started is in this state.
RUNNABLE:A thread executing in the Java virtual machine is in this state.
BLOCKED:A thread that is blocked waiting for a monitor lock is in this state.
WAITING:A thread that is waiting indefinitely for another t ...
拦截器模式在很多场合会见到,本质上讲它不属于基础24种设计模式的一种,但从设计实现角度看,责任链模式可以很好得实现拦截器。比如web服务器的filter、structs2框架中的interceptor、flumn的interceptor等等。
很多时候,我们会过度迷恋设计模式,我以为,适合拦截器设计的场合如下:
1.各个拦截器彼此之间独立
拦截器彼此之间不应当有关联,即彼此无耦合。通常连接器(责任链上的节点)对某个对象的处理都是从自身视角看,只关心自己的处理逻辑。彼此独立就意味着,拦截器配置的先后顺序无关。
2.拦截器自身无状态
拦截器对对象的处理不应当关心这次处理的对象和上一个对象之间 ...
java动态代理原理简单描述
- 博客分类:
- java
java的动态代理使用Proxy.newInstance(classloader,interfaces,invocationHandler)方法
该方法进行以下操作:
用classloader作为Proxy0的定义类加载器在内存中加载一个Proxy0类,并实现interfaces的所有接口,同时将invocationHandler传进去Proxy中
interface Bu ...
定义类加载器:真正加载类的classloader,即真正执行defineclass的classloader
初始类加载器:启动类加载过程的classloader,即执行loadclass的classloader
jvm使用class的名字和定义类加载器作为标识一个类的唯一性
在一个类中使用this.getClass().getClassLoader()得到的是这个类的定义加载器
一个类里A引用了另一个类B,则类B的初始加载器是类A的定义加载器
new 一个自定义的classloader,该classloader的parent是当前new这个classloader的类的定义类加载器
Cla ...
Axis2 附件传输 样例 解读
- 博客分类:
- java axis2
axis2 的客户端发送带附件的过程如下
//设置options
Options options = new Options();
options.setTo(targetEPR);
options.setProperty(Constants.Configuration.ENABLE_SWA,
Constants.VALUE_TRUE);
options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
...
webservice本身提倡无状态的,为支持某些需要维持状态的应用,axis2提供了session管理。
构建一个带session管理的service,需要做一下事情:
1、客户端的stub初始化需要出传入configcontext
ConfigurationContext configContext =
ConfigurationContextFactory.createConfigurationContextFromFileSystem(base, base+File.separator+"conf"+File.separator+"ax ...