
Java
文章平均质量分 77
Stephen.W
life is full of unknown
展开
-
java匿名内部类序列化问题
遇到一个序列化问题。明明对象已经实现了序列化接口,但是报错无法序列化外部的类(内心os,跟外部类什么关系啊)。最后发现原因是我使用的对象是匿名内部类的子类,继承的父类实现了序列化接口。匿名内部类的对象会伴随主对象的整个生命周期,并且匿名类必然不会继承序列化接口支持序列化,所以在执行序列化时会发生无法序列化外部类的情况,因为匿名类对象也是一个需要序列化的成员。原创 2018-01-04 20:40:52 · 3281 阅读 · 0 评论 -
【java并发编程】对象组合
介绍可以通过对象组合构造一个满足需求的线程安全的类。 笔记来自《java并发编程实战》监视器模式(实例封闭)遵循java监视器模式的对象会把对象的所有可变状态都封装起来,并由对象自己的内置锁来保护。如:public calss PrivateLock { private final Object myLock = new Object(); Widget widg...原创 2018-04-05 23:24:15 · 730 阅读 · 0 评论 -
【java并发编程】线程安全性和对象共享
读书笔记来自《java并发编程实战》。线程安全性可重入锁可重入意味着获取锁的操作的粒度是线程而不是调用。实现方法是为每个锁关联一个获取计数值和一个所有者进程。当计数器为0,这个锁被认为可以被任何线程池游。当线程请求一个未被池游的锁时,JVM将记下锁的持有者,并且将计数器置为1,如果同一个线程再次获取这个锁,计数器将递增。当线程退出痛不快,计数器递减。当计数器为0,锁被释放。...原创 2018-04-04 11:42:41 · 667 阅读 · 0 评论 -
servlet的filter使用替换流
servlet过滤器工作流程servlet过滤器在request到达servlet前可以拦截,在response到达客户端之前可以捕获。这样便可以在过滤器中处理一些请求响应的前置操作或通用操作。常见的一种应用就是进行敏感词过滤。但是如果直接使用HttpServletResponse,这是一个流,无法对已经out.println()的内容进行修改。所以这里需要替代流。替代流(...原创 2017-12-22 14:59:40 · 685 阅读 · 0 评论 -
servlet单例多线程
转载自:https://www.cnblogs.com/yjhrem/articles/3160864.html将原文进行了修整和精简Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例)容器初始化化Servlet...转载 2017-12-22 20:02:08 · 527 阅读 · 0 评论 -
servlet response的encodeURL
问题与解决初学servlet,一直没在意HttpServletResponse的encodeURL方法,所以服务器端返回地址的时候一直这么写的 "<form action=\"" + req.getContextPath() + "/\" method=\"post\">\n" 直到运行的时候才发现,这里的请求没有发送到服务器端到相应servlet的doP...原创 2017-12-25 14:21:53 · 1084 阅读 · 0 评论 -
idea项目添加spring
配置步骤1.添加spring的依赖包idea可以直接右击项目 选择add frame support,勾选spring即可2.创建applicationContext.xml在src的直接子目录下创建 applicationContext.xml 这里给出一个applicationContext.xml 的实例,以及注释解释<?xml version="1...原创 2018-02-09 13:40:06 · 15485 阅读 · 1 评论 -
netty高性能调优点
netty关于netty的学习和介绍,可以去github看官方文档,这里良心推荐《netty实战》和《netty权威指南》两本书,前者对于新手更友好,原理和应用都有讲到,多读读会发现很多高性能的优化点。netty高性能优化点最近参加了阿里中间价性能比赛,为了提升netty写的servive mesh的网络通信的性能,最近几天查了书、博客(这里强力推荐netty作者的博客,干货真的很...原创 2018-06-19 17:44:28 · 13696 阅读 · 5 评论 -
【java并发编程】DCL单例模式与Happen-Before
本来想写一篇文章说说DCL的缺陷顺带说一下JMM,看到有一篇文章写的不错,就直接转过来修改了一下。原文出处在这里。1 前言单例模式是我们经常使用的一种模式,一般来说很多资料都建议我们写成如下的模式:public class Instance { private String str = ""; private int a = 0; private stat...转载 2018-05-05 21:01:55 · 680 阅读 · 0 评论 -
【java并发编程】原子变量和CAS
我们知道锁的实现可以分为乐观锁和悲观锁,具体可以参照我的这篇文章数据库的锁机制及原理。java中也有对应的乐观锁和悲观锁的实现,在之前的文章中我们讨论了ReentrantLock和synchronized,它们都是悲观锁的具体实现,都是先确保拿了锁才会去操作。java中同样也有乐观锁的实现,这就是CAS(compareAndSwap)机制。锁的劣势如果锁已经被占用,那么其他线程必须被挂起...原创 2018-05-05 20:41:11 · 296 阅读 · 0 评论 -
idea使用wildfly创建ejb项目
准备工作到官网下载wildfy,解压缩即可。创建EJB端模块在已有的项目中新建模块(直接新建工程也可以),选择web application 和ejb(当时我只选择ejb,发现一直报错找不到war包,部署不上去,勾选了web application就可以部署了,还不知道啥原因)在src中新建包,我这里是xyz.wyy.order.service,里面新建接口和实现类。(暂原创 2018-01-06 18:34:02 · 4292 阅读 · 0 评论 -
【java并发编程】ReentrantLock和synchronized
在jdk5之前,协调共享对象访问的只有synchronized和lock,jdk增加了一种新的锁机制:ReentrantLock。lock并不是对内置锁的替换,而是互补。这篇文章主要循序渐进的比较两者异同和适用场景,如果有理解错的地方希望大家能指出。synchronized怎么实现的?synchronized是Java中解决并发问题的一种最常用最简单的一种方法,有效满足了线程安全的三大...原创 2018-05-05 00:17:13 · 362 阅读 · 0 评论