随笔分类 - Java
摘要:第一种方式: @Configuration public class DruidConfig { @Bean public ServletRegistrationBean druidServlet() { ServletRegistrationBean servletRegistrationBean
阅读全文
摘要:1、使用MySQL8.0.11版本,要使用5.1.45或其他高版本驱动jar包,我本地使用的是最新的8.0.11 2、更换了MySQL驱动后,报Cannot find class [com.alibaba.druid.pool.DruidDataSource] for bean ··········
阅读全文
摘要:现实中的例子比如各国国标的插座与插头关系,其中转换器就充当了适配器作用 适配器模式:将一个类的接口转换成另一种接口,让原本不兼容的类可以兼容 就是两个接口本来没有关系,通过一个适配器类实现某个接口,可以实现另一接口的方法 1、对象适配器 火鸡冒充鸭子例子:火鸡有火鸡接口,鸭子有鸭子接口,现在想让鸭子
阅读全文
摘要:遥控器案例,控制灯开或关,音响音量大小,设置CD 1、把命令封装成接口,不同设备继承接口实现功能; 如上图,灯的开、关和音响开、关、调音量、设置CD功能类定义好,其相应功能的执行命令封装成接口,Control通过命令接口的方法实现对应功能; public class Light { String l
阅读全文
摘要:披萨项目为例,使用工厂模式设计 需求:方便披萨品种扩展,便于维护,要能运行时扩展 披萨族(组)设计类图 假设只有原料不同,其他操作如烘焙、切割、打包相同,就把prepare方法设置为抽象方法 一般设计如下 //披萨族抽象类 public abstract class Pizza { protecte
阅读全文
摘要:单例模式:确保一个类最多只有一个实例,并提供一个全局访问点 普通单例模式示例(有问题) public class Singleton { private static Singleton uniqueInstance = null; private Singleton() { } public st
阅读全文
摘要:装饰者模式:动态的将新功能(装饰者,如调料)附加到对象(主体,如单品咖啡)上。在对象功能扩展方面,它比继承更有弹性。 1、以咖啡馆订单系统项目为例 咖啡种类:Espresso、ShortBlack、LongBlack、Decaf 调料:Milk、Soy、Chocolate 咖啡可以点单品,也可以和任
阅读全文
摘要:观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化 1、Internet气象站项目 提供温度、气压和湿度接口 测量数据更新时需要通知给第三方 需要设计开放型API,便于其他第三方公司也能接入气象站获取数据
阅读全文
摘要:策略模式:分别封装行为接口,实现算法组,超类里放行为接口对象,在子类里具体设定行为对象。原则就是:分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。 策略模式注意点:1)分析项目中变化部分与不变部分;2)多用组合少用继承;用行为类组合,而不是行为的继承更有弹性。
阅读全文
摘要:先说下遇到的问题,在SSHWeb项目中使用JDK自带的jar发布WebService(Endpoint.publish),在tomcat下可以正常发布,但是在Weblogic报奇葩错误,如Struts2-core.xml解析出错,还有weblogic实例重名错误等;用了一天网上也找不到解决方案,就改
阅读全文
摘要:1、先看一个网站介绍,了解跨域问题 HTTP访问控制(CORS) 2、像谷歌、火狐浏览器对一些非简单请求会触发预检请求,首先使用 OPTIONS 方法发起一个预检请求到服务器,然而IE浏览器没有预检请求 3、发起预检请求,如果想要后台处理成功,那么就需要服务器处理返回响应,设置允许的请求头,设置允许
阅读全文
摘要:在VS中用WindowsApplication做一个exe程序,用来给数据库密码加密,加密代码如下 private void generateBtn_Click(object sender, EventArgs e) { string pwd = pwdtxt.Text; if(pwd==null
阅读全文
摘要:package com.hjp.netty.netty; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitiali
阅读全文
摘要:由JDK1.7提供的NIO2.0新增了异步的套接字通道,它是真正的异步I/O,在异步I/O操作的时候可以传递信号变量,当操作完成后会回调相关的方法,异步I/o也被称为AIO,对应于UNIX网络编程中的事件驱动I/O;不再需要通过多路复用器(Selector)对注册的通道进行轮询操作就可以实现异步读写
阅读全文
摘要:下面default类就是默认修饰符的类 1、Java中调用类中属性或方法(不管是否静态属性或方法)都要在类的方法中调用,虽然这个太基础,但今天想在类中调用静态类的静态变量,不能调用; 2、Java调用内部类公共变量: 3、一个.java文件内只能有一个public 类,可以有多个default类(顶
阅读全文
摘要:NIO简介:与Socket和ServerSocket类相对应,NIO提供了SocketChannel和ServerSocketChannel两种不同的套接字通道实现,这两种新通道都支持阻塞和非阻塞两种模式。阻塞模式使用简单,但是性能和可靠性不好,非阻塞模式正好相反。 1.缓冲区Buffer:一个对象
阅读全文
摘要:为了解决同步阻塞I/O一个链路需要一个线程处理问题,对BIO模型做了优化——后端通过一个线程池处理多个客户端的请求接入,设置线程最大值,防止线程并发接入导致的线程耗尽。 当有新的客户端接入时,将客户端Socket封装成一个Task(该任务实现java.lang.Runnable接口)投递到后端的线程
阅读全文
摘要:网络编程的基本模型是Client/Server模型,也就是两个进程之间进行相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,如果连接建立成功,双方就可以通过网络套接字(Socket)进行通信。 采用BIO通信模型的服
阅读全文
摘要:一、配置环境变量(Windows系统下要重启) 1、JAVA_HOME即JDK安装路径bin上一级,java -version命令验证 2、CXF_HOME即cxf安装路径bin上一级,cxf解压包下有samples文件夹,下有java_first_pojo文件夹,此处shift+右键打开命令窗口,
阅读全文
摘要:1、编写WebService类,使用@WebService注解 package test; import javax.jws.WebService; @WebService public class HelloServiceImpl{ public String say(String name) {
阅读全文