java知识
m19890919
这个作者很懒,什么都没留下…
展开
-
logback日志接入
logback原创 2015-07-30 17:29:37 · 1205 阅读 · 0 评论 -
java socket 通信示例
在参与项目的过程中,遇到系统通信场景。系统原先使用基于netty框架,pl觉得过于复杂,于是他自己开发了一个简单的通信模块。 交互过程如下图: 1.Client端代码public class Client { private Client client; private Client() { } public Client getInstance() {原创 2015-08-16 21:31:57 · 760 阅读 · 0 评论 -
单点登录(sso)
SSO(Single Sign On)单点登录,sso是解决多系统间登录问题,用户一次登录能得到其他系统的信任,实现免登功能。根据实现方式又分成同域、跨域、Oauth授权方式。1.sso单点登录流程图 2.客户端接入方式 基于filter方式接入,重定向到sso 服务端登录,登录成功后,sso服务端带着 token ticket 重定向到客户端,客户端在请求sso服务端用户信息生成cookie原创 2015-08-08 20:15:32 · 371 阅读 · 0 评论 -
web应用请求限流控制
1.当请求量大时,可能会拖垮整个网站,通常会采取限流措施,降低机器的负载。 2.简单的措施是加一个filter拦截器,设置一个静态原子变量,当该变量大于设置的阈值时就直接return返回,不做后续处理,称该方案为方案一。 3.由于方案一的阈值是静态设定的,我们可以采取动态的更改该阈值,即方案一的优化方案。那么该阈值通过什么样的方式更改呢? (1)存储数据库,定时去数据库中读取。 (2)放在原创 2015-09-06 23:18:22 · 5297 阅读 · 0 评论 -
java validation(JSR 303 )
1.通常我们在编写业务代码时,会对各种参数进行验证,比如是否空值,是否小于0等。 2.如果参数异常我们会抛出异常或者直接返回null等。 3.之前都是进行硬编码验证参数,其实有更好的方案,就是用javax提供的validation接口进行验证。下面简单描述下接入validation过程: (1)使用Validator类进行验证,和使用log日志很相似,比如我们用logFactory get一个原创 2015-11-05 23:33:32 · 610 阅读 · 0 评论 -
java classloader
一、classLoader加载机制 JVM类加载器加载机制并不是继承关系,而是委派关系,之前意识中一直当作是继承关系。自定义classloader的时候,通常会传一个parent classLoader,看见parent就想当然的理解成继承关系,直到在写code时,发现不同classLoader的用各自的parent加载的class,都是用的相同的classLoader实例,然后才把这个潜意识改变原创 2015-11-22 21:57:42 · 374 阅读 · 0 评论 -
搭建第一个dubbo样例
dubbo作为开源的rpc框架,其功能和优点本文不做描述,其开源项目地址:http://dubbo.io/ 。本文主要讲述搭建一个dubbo开发环境即样例,包括基于 zookeeper服务注册中心,provider,consumer和服务治理后台。搭建zookeeper服务注册中心 zookeeper部署分单机部署和机群部署,具体部署步骤可以自己度娘,也可以参考:http://blog.csd原创 2015-11-23 20:22:44 · 1671 阅读 · 0 评论 -
java nio多线程引起的full gc问题
1.在写nio的例子时,服务端采用线程池处理请求,遇到一个full gc问题,下面给代码贴出来。 nioserver端代码package com.nio.study;import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuff原创 2015-11-30 23:22:28 · 2696 阅读 · 0 评论