Thread
开 端
所有的知识、你能吸收多少,更取决于自己,自律性!(好比一座山,能搬有多少看自己的努力)
展开
-
Thread守护线程判断每位员工是否可以下班,要求员工时间大于或等于8小时才能够下班
设置守护线程判断每位员工是否可以下班,要求员工时间大于或等于8小时才能够下班package com.tw.thread;import lombok.SneakyThrows;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Random;import java.util.concurrent.TimeUnit;/** * @title: W原创 2022-02-24 10:33:56 · 315 阅读 · 0 评论 -
Spring源码分析
1、核心基础1(常规),2(部分内部原理),3(专业训练)1(spring.xml) 2(注解)1、核心注解注解作用备注@Bean容器中注册组件@Primary同类组件如果有多个,标注主组件@DependsOn组件之间声明依赖关系@Lazy组件懒加载(最后使用的时候才创建)@Scope声明组件的作用范围(SCOPE_PROTOTYPE,SCOPE_SINGLETON,)@Primary同类组件如果有多个,标注主组件@原创 2021-03-08 11:17:47 · 91 阅读 · 0 评论 -
Spring Boot 自定义Controller切面日记拦截
@Retention(RetentionPolicy.RUNTIME)//注解会在class中存在,运行时可通过反射获取@Target(ElementType.METHOD)//目标是方法@Documented//文档生成时,该注解将被包含在javadoc中,可去掉public @interface Logger { /** * 模块名字 */ String name() default ""; /** *方法 */ Stri原创 2021-01-25 14:28:55 · 509 阅读 · 0 评论 -
controller拦截请求报文统一输出报文
package com.yaoyanshe.masterdata.framework.filter;import com.alibaba.fastjson.JSONObject;import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import原创 2020-12-21 13:29:06 · 291 阅读 · 0 评论 -
集合分割算法
```javapackage com.example.springsouress.com.utils;import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;import java.util.stream.Stream;/** * -- Created by IntelliJ IDEA. * -- REMARK: * -- User: jerry * -- Date: 2.原创 2020-12-10 14:33:52 · 282 阅读 · 0 评论 -
比较同对象属性值、取出不同属性
public static <T> Object compare(T obj1, T Obj2) throws Exception { HospitalBaseInfo unOfficialDto = new HospitalBaseInfo(); Field[] fs = obj1.getClass().getDeclaredFields(); Field[] fields = Obj2.getClass().getDeclaredFields(); Field原创 2020-12-04 18:38:59 · 292 阅读 · 0 评论 -
分页多线程执行ThreadPoolTaskExecutor
public class ScheduleConfig implements SchedulingConfigurer { @Bean(name = "initTaskExecutor") public ThreadPoolTaskExecutor initTaskExecutor() { ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSize(原创 2020-12-03 13:26:24 · 303 阅读 · 0 评论 -
DateUtil封装高效实践
public class DateUtil { private DateUtil() { } public static final String yyyyMMdd = "yyyyMMdd"; /** * 英文简写(默认)如:2010-12-01 */ public static final String FORMAT_SHORT = "yyyy-MM-dd"; /** * 英文全称 如:2010-12-01 23:15:原创 2020-11-20 17:17:48 · 115 阅读 · 0 评论 -
StringUtils封装重复利用
public class StringUtils { private static final AtomicInteger incUnique = new AtomicInteger(); private StringUtils() { } public static String nameMask(final String name) { if (isBlank(name)) { return name;原创 2020-11-20 17:16:24 · 220 阅读 · 0 评论 -
XxJobConfig调度任务配置
@Slf4j@Data@Configuration@ComponentScan(basePackages = "cn.edc.wechat.edcwechatpublic.config")public class XxlJobConfig { @Value("${xxl.job.admin.addresses}") private String adminAddresses; @Value("${xxl.job.executor.appname}") priva原创 2020-11-20 17:03:48 · 973 阅读 · 0 评论 -
微信公众号开发者模式
@ApiOperation(value = "验证") @RequestMapping(value = "/verify_wx_token") public void verifyWXToken(HttpServletRequest request, HttpServletResponse response) throws Exception { coreServlet.doGet(request, response); coreServlet.doP...原创 2020-11-20 17:01:56 · 110 阅读 · 0 评论 -
钉钉自定义关键字实现
DingTalkClient client = new DefaultDingTalkClient(didiUrl); OapiRobotSendRequest request = new OapiRobotSendRequest(); request.setMsgtype("text"); OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text(); tex...原创 2020-11-20 16:52:47 · 528 阅读 · 0 评论 -
JAVA单例模式讲解
public class Hungry { private Hungry(){} private final static Hungry HUNGRY = new Hungry(); public static Hungry getHUNGRY() { return HUNGRY; }}public class LazyMan { private static boolean asasasas= false; priv原创 2020-06-27 11:58:30 · 77 阅读 · 0 评论 -
Volatile三种状态
Volatile1.保证可见性(JMM)2.不保证原子性(原子性)3.禁止指令重排(单列模式、 CAS )public class Demo01 { // private static int num = 0; private volatile static int num = 0;// volatile 保证可见性 public static void main(String[] args) throws InterruptedException {原创 2020-06-27 10:54:03 · 138 阅读 · 0 评论 -
Thread辅助方法
public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { //CountDownLatch 默认的初始化 CountDownLatch countDownLatch = new CountDownLatch(6); for (int i = 0; i < 6; i++) { n原创 2020-06-27 09:34:52 · 147 阅读 · 0 评论