`
young-2017
  • 浏览: 9423 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论
文章列表

几种i/o模型

github: https://github.com/szyyoung/nettylearning
Server端: package com.huayang.fakeasyncio; import com.huayang.Bio.ServerHandler; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { ServerSocket serverSocket = null; ...
client端 package com.huayang.Bio; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class BioClient { public static void main(String[] args) { BufferedReader in = null; ...

rpc简单实现

    博客分类:
  • java
提供者: public interface HelloService { String echo(String str); } public class HelloServiceImpl implements HelloService { public String echo(String str) { return "hello " + str; } } 服务提供方通过反射调用: package com.huayang.provider; import java.io.IOExcepti ...

mvn 使用profiles

    博客分类:
  • mvn
classpath下新建 application.properties ds=${provider} dev.properties provider=dev prd.properties provider=prd qa.properties provider=qa pom.xml 加入 <profiles> <profile> <id>dev</id> <properties> <p ...
1 将资源文件封装成Resource      如Resource re = new ClassPathResource(""); 2. 将加载好的资源文件 通过XmlBeanFactory初始化 public class XmlBeanFactory extends DefaultListableBeanFactory { private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this); public XmlBeanFactory(Resource r ...
Resource 继承 InputStreamSource 抽象了 spring内部所有使用到的底层资源 常用间接的子类 ClassPathResource FileSystemResource ByteArrayResource 等 package com.huayang; import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.Resource; import java.io.File; import java.io.FileOutputStrea ...
spring框架本身四大原则:      1.使用pojo进行轻量级和最小侵入式开发      2.通过依赖注入和基于接口编程实现松耦合      3.通过Aop和默认习惯进行声明式编程      4.使用Aop和模板减少模式化代码 声明Bean的注解(声明当前的bean有spring容器管理的一个bean)     @Compent组件,没有明确的角色     @Service在业务逻辑层(service层) 使用     @Repository 在数据访问层(dao层)使用     @Controller 在表现层(spring mvc) 使用 注入Bean的注解(可注解 在set方法或 ...

apidoc使用

安装参考:http://apidocjs.com/ 将 apidoc.json footer.md header.md apidoc -i src/main/java/com/huayang/ -o apidoc/
wait和notify是Object类中的方法,即java为所有的对象都提供了这两个方法 1. wait和notify必须和synchronized配合使用 2.wait方法释放锁 而 notify方法不释放锁 package com.example.threadDemo; import java.util.ArrayList; import java.util.List; public class WaitAndNotify { private volatile static List list = new ArrayList(); publi ...
package com.example.threadDemo; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; /** * Created by szy on 2017/4/5. */ public class MultiAtomicInteger { private static AtomicInteger count = new AtomicInteger(0); /** 单一cou ...
package com.example.threadDemo; /** * volatile 关键字对多个线程具备可见性,但不保证原子性 */ public class VolatileNoAtomic extends Thread { private static volatile int count; private static void addCount() { for (int i = 0; i < 1000; i++) { count++; } Sys ...
1.继承HandlerInterceptorAdapter实现自定义的拦截器 2.重写preHandle方法 ,在请求发生前执行 3.重写postHandle方法,在请求完成之后执行 public class MyMvcInterceptor extends HandlerInterceptorAdapter{ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { l ...
条件注解@Conditional      可以基于条件去创建一个Bean,根据满足某一特定条件创建一个特定的Bean      比如 当某一个jar包在一个类路径下的时候 自动配置一个或者多个bean      或者只有某个Bean被创建的时候才创建另外一个Bean ;就是根据特定的条件控制创建      Bean的行为。 //实现condition接口 ,重写match方法 public class WindowsConditonal implements Condition { @Override public boolean matches(ConditionC ...
/** * 自定义事件 * Created by szy on 2017/3/30. */ public class DemoEvent extends ApplicationEvent { private String msg; private List<String> list; public DemoEvent(Object source,String msg,List<String> list) { super(source); this.msg=msg; ...
Global site tag (gtag.js) - Google Analytics