- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 Spring源码分析(1)--Spring初始化(注册)
Note:spring源码版本5.0.2Release基于ClassPathXmlApplicationContext的BeanDefinition注册过程 ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");学习Spring时我相信大部分人的第一个实例就是这样的...
2019-11-30 22:08:32 208
原创 Kafka学习笔记
kafka kafka是一款分布式消息发布和订阅系统,它由于具有高性能、高吞吐的特点而被广泛应用于大数据传输场景kafka的应用场景行为跟踪日志收集kafka的架构? 一个典型的kafka集群包含若干个Producer、若干个Broker、若干个Consumer Group以及一个Zookeeper集群。kafka通过zookeeper管理集群配置及服务...
2018-07-21 11:02:52 344
原创 Java实现深度克隆的简单方法
使用java的流,先将对象序列化,然后序列化回对象,其中的限制为克隆的对象必须实现Serializable接口 public Object deepCopy(Object source){ ObjectOutputStream os = null; ObjectInputStream ois = null; try{ ...
2018-05-12 19:04:41 3897
原创 jvm参数含义
-Xms:堆最小(初始)内存分配-Xmx:堆最大内存分配-XX:+/-UseTLAB :虚拟机是否使用TLAB(Thread Local Allocation Buffer 本地线程分配缓冲)-Xmn:堆内新生代的大小-Xss:栈大小-XX:PermSize:方法区内存大小-XX:MaxPermSize:方法区最大内存-XX:MaxDirectMemorySize:直接内存容量-...
2018-05-12 18:47:42 364
原创 Java高并发编程(9)
future模式首先,需要一个Future接口,用以获取值public interface Future<T> { T get();}然后,需要一个FutureTask接口,用以定义返回值的方法public interface FutureTask<T> { T call();}再然后,需要一个FutureSer...
2018-04-11 22:55:30 189
原创 Java高并发编程(8)
实现ReadWriteLock锁主要lock代码//读写锁public class ReadWriteLock { /** * 正在读的线程数 */ private int readerReading = 0; /** * 等待读的线程数 */ private int readerWaiting = 0;...
2018-04-10 22:02:37 227
原创 Java中 单例模式的一些方法总结
总的来说,应该有4中(说的不对请多见谅) - 1、饿汉式:可能会浪费资源/** * 饿汉式 */public class SignleVersion1 { private static SignleVersion1 signle = new SignleVersion1(); private SignleVersion1(){} public static...
2018-04-09 22:13:05 168
转载 happens-before 原则
原文地址 https://blog.csdn.net/a1211529911/article/details/51496732简介 Java使用新的JSR-133内存模型,JSR-133使用happens-before的概念来阐述操作之间的内存可见性。在JMM中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在happens-before关系。这里提到的两个操作既...
2018-04-09 21:34:08 264
原创 Java高并发编程(7)
用synchronized、wait、notifyAll实现lock锁直接贴代码 lock接口public interface LockInterface { void lock() throws InterruptedException; void lock(long millis) throws InterruptedException, TimeoutExc...
2018-04-06 21:57:06 193
原创 Java高并发编程(6)
使用synchronized、wait、notify实现的生产者、消费者public class ProducterAndCustomerVersion1 { private final static Object LOCK = new Object(); private static boolean isProducted = false; private sta...
2018-04-06 21:52:12 168
原创 Java高并发编程(5)
sleep 和 wait 方法的区别sleep和wait方法都能使当前线程阻塞,但是它们还是有许多不同的sleep方法是Thread类的,而wait方法是Object的,它们的所属类不同sleep方法阻塞后不会释放持有锁,而wait方法在阻塞后会把持有的锁释放掉sleep方法直接使用Thread调用即可,但是wait方法需要有synchronized关键字配合才能使用,否则会报错...
2018-04-06 20:15:45 162
原创 Java高并发编程(4)
中断线程的一些方法线程启动完毕后,在运行可能需要终止,Java提供的终止方法只有一个stop,但是不建议使用此方法,因为它有以下三个问题:(1)stop方法是过时的;(2)stop方法会导致代码逻辑不完整;(3)stop方法会破坏原子逻辑因此需要些别的方法来打断线程,这里提供3个方法1、使用中断状态标志位,代码如下所示public class Threa...
2018-04-06 00:31:21 171
原创 Java高并发编程(3)
Thread 类的一些方法说明join():等待这个线程死亡。 使当前线程在该线程之后执行,join源码如下 可以看出来,join实际调用wait()方法interrupt():中断这个线程。 除非当前线程中断自身,这是始终允许的,所以调用此线程的checkAccess方法,这可能会导致抛出SecurityException 。 如果该线程阻塞的调用wait() , wait(lo...
2018-04-05 23:32:59 375
原创 Java高并发编程(2)
实现线程的2中方式继承Thread对象实现Runnable接口 其中,实现runnable接口中可以参考设计模式:策略模式用runnable实现线程时,启动时需要创建Thread对象并将实现runnable的接口当参数传入,实际上用的构造函数为 可以看到,在该方法中有这一步 它将传入的Runnable接口赋值给本地变量,接下来看Thread中的run方法 如果...
2018-04-05 18:09:56 160
原创 面试时遇到的一些问题
一、大概说下SpringMVC的流程Disptacher为核心处理器,基本所有操作都围绕它转1、用户发起请求,请求抵达DispatcherServlet,dispatcherServlet调用doService方法中的如图所示代码 2、代码执行到940行,调用getHandler方法获取HandlerExecutionChain,而它是由2部分组成,用户写的handler(即cont...
2018-03-28 22:54:52 208
原创 Java高并发编程(1)
线程的5中状态及相互转换-新建(new): 继承Thread或实现Runnable的类用new关键字创建对象 -**就绪(runnable):**Thread或Runnable实例调用start方法 -执行(running):此时线程处于执行状态 -阻塞(blocked):当执行中的线程遇到sleep、wait、锁 等方法是,线程便处于阻塞状态 -死亡(dead):线程执行完毕或遇到异...
2018-03-27 23:29:22 234
原创 JAVA web 文件下载时 文件头设置
response.setContentType(“text/html;charset=UTF-8”); response.setContentType(“application/octet-stream; charset=utf-8”); response.setHeader(“Content-Disposition”, “attachment; filename=\”” + new Strin
2017-08-28 15:27:59 1772
原创 SpringSecurity 登录页面无法获取CSRF令牌的解决方法
捡重要的说 配置说明:项目是基于maven+springMVC+springSecurity的,maven、web.xml和springmvc具体配置可以百度,具体说下springsecurity.xml的配置,<http pattern="/init" security="none"/><http pattern="/login" security="none"/><http auto-con
2017-03-21 10:46:30 2769
原创 CSRF ajax 的一些设置
spring security 4.x 之后默认开启csrf保护,因此 POST, PUT or DELETE 等基本请求都要求附带服务器端的令牌请求才会被服务器接受,因此,如果你的POST, PUT or DELETE 等请求如果没有携带服务器令牌,你将会得到一个403错误"Invalid CSRF Token 'null' was found on the request parameter '
2017-03-21 09:53:31 917
原创 用java实现计算String类型的四则运算——用栈和后缀表达式实现
用java实现计算String类型的四则运算——用栈和后缀表达式实现最近看数据结构,看到栈和后缀表达式的地方,于是自己动手用写了一段很简单的实现计算String类型的四则运算的例子。思路:给一个String类型的算术计算式,求这个String算数式的值。计算String串的值,涉及到一个主要问题:加减乘除及括号的优先级该怎么解决。于是后缀表达式就华丽丽的登场了,它涉及到的数据结构是栈,然后利用后缀
2015-11-18 23:15:26 2858 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人