04 2022 档案

摘要:Future Future设计的初衷: 对将来的某个事件的结果进行建模 /* 异步调用:Ajax 1.异步执行 2.成功回调 3.失败回调 */ public class Demo01 { public static void main(String[] args) throws Execution 阅读全文
posted @ 2022-04-26 21:03 不写代码想写诗的虫子 阅读(59) 评论(0) 推荐(0) 编辑
摘要:分支合并 什么是ForkJoin ForkJoin在jdk1.7发行,并行执行任务,提高效率,适用于大数据量! 大数据:MapReduce(把大任务拆分为小任务) ForkJoin特点:工作窃取 这个里面维护的都是双端队列 ForkJoin使用 计算类 /* 求个计算的任务! 3000 6000(F 阅读全文
posted @ 2022-04-26 21:02 不写代码想写诗的虫子 阅读(85) 评论(0) 推荐(0) 编辑
摘要:// 多线程并发 public static void main(String[] args) { long start = System.currentTimeMillis(); for (int i = 0; i < 10; i++) { new Thread(() -> { // 线程体 }) 阅读全文
posted @ 2022-04-21 11:41 不写代码想写诗的虫子 阅读(29) 评论(0) 推荐(0) 编辑
摘要:public class Test { public static void main(String[] args) { User u1 = new User(1, "a", 21); User u2 = new User(2, "b", 22); User u3 = new User(3, "c" 阅读全文
posted @ 2022-04-19 21:40 不写代码想写诗的虫子 阅读(161) 评论(0) 推荐(0) 编辑
摘要:函数型接口 源码分析 @FunctionalInterface public interface Function<T, R> { /** * Applies this function to the given argument. * * @param t the function argumen 阅读全文
posted @ 2022-04-19 21:38 不写代码想写诗的虫子 阅读(29) 评论(0) 推荐(0) 编辑
摘要:三大方法 // Executors 工具类: 3大方法 // 使用了线程池之后,使用线程池来创建线程 public class Demo01 { public static void main(String[] args) { ExecutorService threadPool = Executo 阅读全文
posted @ 2022-04-19 21:34 不写代码想写诗的虫子 阅读(16) 评论(0) 推荐(0) 编辑
摘要:BlockingQueue 方式 抛出异常 有返回值,不抛出异常 阻塞等待 超时等待 添加 boolean add(E e) boolean offer(E e) void put(E e) boolean offer(E e, long timeout, TimeUnit unit) 移除 E r 阅读全文
posted @ 2022-04-18 22:22 不写代码想写诗的虫子 阅读(23) 评论(0) 推荐(0) 编辑
摘要:ReadWriteLock /* 独占锁(写锁) 一次只能被一个线程占有 共享锁(读锁) 多个线程可以同时占有 ReadWriteLock 读-读 可以共存 读-写 不能共存 写-写 不能共存 */ public class ReadWriteLockDemo { public static voi 阅读全文
posted @ 2022-04-18 22:13 不写代码想写诗的虫子 阅读(33) 评论(0) 推荐(0) 编辑
摘要:CountDownLatch // 减法计数器 public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { // 总数是6 必须要执行任务的时候,再使用! 阅读全文
posted @ 2022-04-18 22:05 不写代码想写诗的虫子 阅读(30) 评论(0) 推荐(0) 编辑
摘要:List不安全 // java.util.ConcurrentModificationException 并发修改异常! public class ListTest { public static void main(String[] args) { // 并发下ArrayList是不安全的 /** 阅读全文
posted @ 2022-04-18 21:59 不写代码想写诗的虫子 阅读(28) 评论(0) 推荐(0) 编辑
摘要:第一组 /* 8锁,就是关于锁的八个问题 1.标准情况下,两个线程先打印 发短信还是打电话? 2.sendSms延迟4秒,两个线程先打印 发短信还是打电话? */ public class Test1 { public static void main(String[] args) { Phone 阅读全文
posted @ 2022-04-15 09:56 不写代码想写诗的虫子 阅读(30) 评论(0) 推荐(0) 编辑
摘要:不安全代码 /** * 线程之间的通信问题: 生产者和消费者问题! 等待唤醒,通知唤醒 * 线程交替执行 A B 操作同一个变量 num=0 * A num+1 * B num-1 */ public class A { public static void main(String[] args) 阅读全文
posted @ 2022-04-14 17:49 不写代码想写诗的虫子 阅读(31) 评论(0) 推荐(0) 编辑
摘要:/* A执行完调用B,B执行完调用C,C执行完调用A */ public class C { public static void main(String[] args) { Data3 data = new Data3(); new Thread(()->{ for (int i = 0; i < 阅读全文
posted @ 2022-04-14 17:41 不写代码想写诗的虫子 阅读(33) 评论(0) 推荐(0) 编辑
摘要:synchronized版的生产者和消费者问题 /** * 线程之间的通信问题: 生产者和消费者问题! 等待唤醒,通知唤醒 * 线程交替执行 A B 操作同一个变量 num=0 * A num+1 * B num-1 */ public class A { public static void ma 阅读全文
posted @ 2022-04-14 17:39 不写代码想写诗的虫子 阅读(24) 评论(0) 推荐(0) 编辑
摘要:三大不安全案例及解决办法 买票 不安全代码 // 不安全的买票 // 线程不安全,有负数 public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket station = new BuyTicket 阅读全文
posted @ 2022-04-14 17:30 不写代码想写诗的虫子 阅读(18) 评论(0) 推荐(0) 编辑
摘要:解决方式一:管程法 // 测试:生产者消费者模型-->利用缓冲区解决:管程法 // 生产者,消费者,产品,缓冲区 public class TestPC { public static void main(String[] args) { SynContainer container = new S 阅读全文
posted @ 2022-04-14 17:24 不写代码想写诗的虫子 阅读(15) 评论(0) 推荐(0) 编辑
摘要:创建线程 三种方式创建线程 继承Thread 实现Runnable 实现Callable接口 有缓存 结果可能需要等待,会阻塞! public class ThreadNew { public static void main(String[] args) { // 1.继承Thread类 new 阅读全文
posted @ 2022-04-14 17:14 不写代码想写诗的虫子 阅读(19) 评论(0) 推荐(0) 编辑
摘要:pom.xml <dependencies> <!--mybatis-spring-boot-starter: 整合--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot- 阅读全文
posted @ 2022-04-11 15:14 不写代码想写诗的虫子 阅读(27) 评论(0) 推荐(0) 编辑
摘要:pom.xml <!--druid--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.21</version> </dependency> <!--log4j--> < 阅读全文
posted @ 2022-04-11 15:01 不写代码想写诗的虫子 阅读(37) 评论(0) 推荐(0) 编辑
摘要:pom.xml <!--jdbc--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!--mysql 阅读全文
posted @ 2022-04-11 14:58 不写代码想写诗的虫子 阅读(22) 评论(0) 推荐(0) 编辑
摘要:目录结构 实现 LoginController @Controller public class LoginController { @RequestMapping("/user/login") public String login(@RequestParam("username") String 阅读全文
posted @ 2022-04-11 14:20 不写代码想写诗的虫子 阅读(547) 评论(0) 推荐(0) 编辑
摘要:目录结构 实现步骤 配置i18n文件 login.properties login.btn=登录 login.password=密码 login.remember=记住我 login.tip=请登录 login.username=用户名 application.properties # 我们的配置文 阅读全文
posted @ 2022-04-11 14:02 不写代码想写诗的虫子 阅读(37) 评论(0) 推荐(0) 编辑
摘要:SpringBoot官网摘取 原文 If you want to keep those Spring Boot MVC customizations and make more MVC customizations (interceptors, formatters, view controller 阅读全文
posted @ 2022-04-11 11:59 不写代码想写诗的虫子 阅读(29) 评论(0) 推荐(0) 编辑
摘要:源码分析 WebMvcAutoConfiguration EnableWebMvcConfiguration welcomePageHandlerMapping() @Bean public WelcomePageHandlerMapping welcomePageHandlerMapping(Ap 阅读全文
posted @ 2022-04-11 11:38 不写代码想写诗的虫子 阅读(89) 评论(0) 推荐(0) 编辑
摘要:源码分析 WebMvcAutoConfiguration WebMvcAutoConfigurationAdapter WebMvcProperties mvcProperties @Override public void addResourceHandlers(ResourceHandlerRe 阅读全文
posted @ 2022-04-11 10:35 不写代码想写诗的虫子 阅读(91) 评论(0) 推荐(0) 编辑
摘要:![](https://img2022.cnblogs.com/blog/2280814/202204/2280814-20220408230728364-898190422.jpg) 阅读全文
posted @ 2022-04-08 23:08 不写代码想写诗的虫子 阅读(9) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示