学亮编程手记

殚精竭虑,不如须臾之所学也。

Java线程池--拒绝策略RejectedExecutionHandler

当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略: 当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略: T...

2019-05-15 11:50:44

阅读数 5

评论数 0

Spring Boot 2.x多线程--使用@Async开启多线程使用示例

Spring Boot 2.x多线程–使用@Async开启多线程,配置类+启动类注解,搞定多线程任务。 配置类TaskPoolConfig.java import org.springframework.context.annotation.Bean; import org.springf...

2019-05-15 11:49:59

阅读数 12

评论数 0

Spring 已经实现的线程池

在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的。但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务。其实在Spring 3.x之后,就已经内置了@Async来完美解决这个问题。 Spring异步线程池的接口类,其实质是java...

2019-05-15 11:49:06

阅读数 5

评论数 0

Spring 自定义注解使用案例 首先创建一个注解@interface

在Spring中使用自定义注解的本质就是使用Spring 的 AOP编程。 首先创建一个注解@interface import org.springframework.data.mongodb.core.mapping.Document; import java.lang.annotati...

2019-05-15 11:48:28

阅读数 6

评论数 0

Java多线程--synchronized修饰普通方法和修饰静态方法的区别

初始化一个对象时,会自动生成一个与该对象对应的对象锁,被synchronized 修饰的方法就得依靠对象锁工作。当多线程同时访问某个被synchronized修饰的方法时,一旦某个进程抢得对象锁之后,其他的进程只有排队对待。 一、synchronized修饰普通方法 初始化一个对象时,会自动...

2019-05-09 17:55:50

阅读数 21

评论数 0

Spring MVC--使用fastjson替换jackson来响应json数据

使用fastjson替换jackson来响应json数据。 springmvc-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu...

2019-05-06 22:10:51

阅读数 14

评论数 0

Spring MVC--使用Jackson返回JSON格式数据

使用Jackson返回JSON格式数据 index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF...

2019-05-06 22:05:12

阅读数 21

评论数 0

Spring MVC--自定义HttpMessageConverter接收JSON格式的数据

替换默认的Jackson,使用fastjson来处理json格式的数据。 index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" page...

2019-05-06 21:42:12

阅读数 10

评论数 0

Spring MVC--使用默认的servlet来响应静态文件

<mvc:default-servlet-handler />使用默认的Servlet来响应静态文件,因为在Web.xml中使用了DispatcherServlet截获所有的请求URL,而引入< script type=”text/javascript” ...

2019-05-06 21:27:31

阅读数 7

评论数 0

Spring MVC--接收JSON格式的数据

Spring mvc使用开源的Jackson包来处理JSON格式的请求或相应消息。 index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...

2019-05-06 20:41:30

阅读数 24

评论数 0

Java多线程安全问题解决的两种方式代码案例

需求:用三个线程模拟三个售票窗口,共同卖100张火车票,每个线程打印出卖第几张票. 多线程安全问题 需求:用三个线程模拟三个售票窗口,共同卖100张火车票,每个线程打印出卖第几张票. 模拟安全问题 public class TicketThread implements Runnable ...

2019-04-30 17:34:55

阅读数 22

评论数 0

Java实现多线程的两种方式

认识多线程之前,我们先要了解几个关于多线程有关的概念。 A:进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 B:线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以...

2019-04-30 17:03:11

阅读数 17

评论数 0

静态方法与单例模式的区别以及为什么要用单例模式而不是静态方法

我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。 一、静态方法常驻内存,非静态方法只有使用的时候才分配内存? 一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态方法,其...

2019-04-30 14:59:59

阅读数 12

评论数 0

浅析Java各种变量线程安全问题

静态方法 非静态方法 静态变量 实例变量 局部变量 静态方法(Static Method) 与静态成员变量一样,属于类本身,在类装载的时候被装载到内存(Memory),不自动进行销毁,会一直存在于内存中,直到JVM关闭。 非静态方法(Non-Static Method) 又叫实例化方法,...

2019-04-30 11:45:47

阅读数 25

评论数 0

详解线程本地变量ThreadLocal

并发应用的一个关键地方就是共享数据。如果你创建一个类对象,实现Runnable接口,然后多个Thread对象使用同样的Runnable对象,全部的线程都共享同样的属性。这意味着,如果你在一个线程里改变一个属性,全部的线程都会受到这个改变的影响。 有时,你希望程序里的各个线程的属性不会被共享。 Ja...

2019-04-30 10:56:07

阅读数 26

评论数 0

SpringMVC一个Controller处理所有用户请求的并发问题

有状态对象(Stateful Bean),就是有实例变量的对象 ,可以保存数据,是非线程安全的。一般是prototype scope。 无状态对象(Stateless Bean),就是没有实例变量的对象,不能保存数据,是不变类,是线程安全的。一般是singleton scope。 有状态和无状...

2019-04-30 10:39:12

阅读数 17

评论数 0

ArrayList和LinkedList的区别

List子体系特点: A:有序的(存储和读取的顺序是一致的) B:有整数索引 C:允许重复的 List的特有功能 void add(int index, E element) :将元素添加到index索引位置上 E get(int index) :根据index索引获取元素 E remove(...

2019-04-30 10:38:23

阅读数 16

评论数 0

编程语言中常见数据结构

数组 数组,采用该结构的集合,对元素的存取有如下的特点: 查找元素快:通过索引,可以快速访问指定位置的元素 增删元素慢 ,每次添加元素需要移动大量元素或这创建新的数组 链表 链表,采用该结构的集合,对元素的存取有如下的特点: A:多个节点之间,通过地址进行连接。例如,多个人手拉手,每个人使用...

2019-04-29 16:45:59

阅读数 18

评论数 0

Java正则表达式代码案例

正则表达式是专门解决字符串规则匹配的工具。 正则表达式也是一个字符串,用来定义匹配规则。 参照帮助文档,在Pattern类中有简单的规则定义,可以结合字符串类的方法使用。 正则表达式匹配规则 参照帮助文档,在Pattern类中有正则表达式的的规则定义,正则表达式中明确区分大小写字母。我们来学习...

2019-04-29 16:44:18

阅读数 104

评论数 0

Spring Boot项目开启异步使用多线程完整代码案例

本文通过代码来演示如果在spring boot的项目中使用多线程,也就是异步。要异步并不难,我们写的代码天天都在跟异步多线程打交道,容易让人感到迷惑的是异步的底层原理,不仅要会使用,更要熟悉其实现原理,才能更加灵活地在项目中进行运用。 首先在pom.xml中引入依赖。 <?x...

2019-04-29 16:14:29

阅读数 61

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭