Java 线程相关总结
一、线程的生命周期1.五种状态:新建状态、就绪状态、运行状态、阻塞状态、消亡状态2.就绪状态的线程表示有权利去获取CPU的时间片,CPU时间片是执行权,当线程拿到CPU时间片之后...
一、线程的生命周期1.五种状态:新建状态、就绪状态、运行状态、阻塞状态、消亡状态2.就绪状态的线程表示有权利去获取CPU的时间片,CPU时间片是执行权,当线程拿到CPU时间片之后...
1 概述池化是常见的思想,线程池是非常典型的池化的实现,《Java并发编程实战》也大篇幅去讲解了Java中的线程池。本文实现一个简单的线程池。2 核心类【1】接口定义public inte...
spring中的bean依赖有大体上可以分为两类,共3中形式,下面简单介绍一下。第一类是构造方法中的循环依赖,这种会报错@Servicepublic class ServiceA { private ServiceB servic...
StringJoiner是Java8新出的用于处理字符串拼接的工具类,可以让你的代码看起来更优雅,不拉跨。假设现在遍历一个字符串集合,需求是每个元素按照 “.” 分开。 String a = "w",...
1. 异常例子class TestTryCatch { public static void main(String[] args){ int arr[] = new int[5]; arr[7] = 10; System.out.println("end!!!"); }}输出:(越界)Exceptio...
对于数组来说,我们想要对其中的一个元素进行引用,那就离不开new的使用。大家在学习new的时候,一般是以新建和初始化的身份出现的。如果是用在数组的引用上,那么会以运算符的方式...
对于能够重复使用的代码,我们最好的方法是对它们进行封装,然后在下次使用的使用就可以直接调用了。本篇所要提到的是JDBC工具类,相信大家在学习java时都接触过。那么对于封装它...
一、复习
计算机内存模型,synchronized和volatile关键字简介二、两者对比
sychronized和volatile都解决了内存可见性问题
不同点:
(1)前者是独占锁,并且存在者上下文切换的开销以...
一、包含与删除两种方法解析1.boolean contains(Object o);判断集合中是否包含某个元素。package com.bjpowernode.java_learning;import java.util.*;​public class...
解决办法:1.VCS--->Enable Version Control Integration2.选择要关联的版本工具补充:git clone 指定分支和切换分支git clone 指定分支:git clone -b 分支名称 项目地址假设分...
前言
在未来做项目中,一些功能模块可能会采用不同的语言进行编写。这就需要http请求进行模块的调用。那么下面,我将以Java为例,详细说明如何发起http请求。一、GET与POST
GET和...
运行效果:1.项目结构2.代码BaseData接口package com.hsy.game;import java.awt.*;public interface BaseData { Font topicFont = new Font("微软雅黑", Font.BOLD, 50); Fon...
冒泡排序是数组查找算法中最为简单的算法冒泡排序原理:
假设一个数组长度为k(最高索引k-1),遍历前k - 1个(最高索引k-2)元素,若数组中的元素a[i]都与相邻的下一个元素a[i+1]进...
事务介绍一个事务要么同时成功,要么同时失败特性 Atomic原子性 事务是由一个或多个活动组成的一个工作单元。原子性确保事务中的所有操作全部发生或全部不发生 Consistent...
1.普通java程序如下配置的logback.xml<?xml version="1.0" encoding="UTF-8"?><configuration> <property name="LOGS_HOME" value="/opt/program/app/logback-de...
一、使用JDBC连接数据库
1.使用JDBC-ODBC桥驱动程序连接数据库
基本步骤:
(1)加载并注册数据库驱动
(2)通过DriverManager获取数据库连接
(3)通过Connection对象获取Statement对象...
之前写过一篇 Java 线程池的使用介绍文章《线程池全面解析》,全面介绍了什么是线程池、线程池核心类、线程池工作流程、线程池分类、拒绝策略、及如何提交与关闭线程池等。但...
我就废话不多说了,大家还是直接看代码吧~设置参数是否为必要参数@RequestParam(required = false) 补充:SpringBoot 开发案例之参数传递的正确姿势前言开发这么多年,肯定还有不...
在这篇文章中,我将向您展示如何用新的Java 8 forEach语句循环一个List和Map。1、forEach 和 Map
1.1、常规循环Map常用的方法。Map<String ,Integer> items = new HashMap<>(...
我们在开发过程中,在进行时间操作时,如果在规定的时间内完成处理的话,有可能会回到正确的结果。否则,就会被视为超时任务。此时,我们不再等待(不再执行)的时间操作,直接向调用者传...
Java(计算机编程语言) Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。...
现象Java使用Redis删除HashMap中的key时,取出对应的HashMap后通过Java中HashMap的remove方法移除key然后重新调用redis的Hmset方法将覆盖无效示例代码//通过key取出对应的Ha...
如果程序挂死,有时使用jstack查看进程中线程信息时,需要添加上-F参数,此时如果有死锁信息,则可能不会打印出死锁堆栈信息,使用jdb则可以查看当前死锁线程的运行堆栈。如下模拟一...
一、数组1.数组中存储元素的类型是统一的,每一个元素在内存中所占用的空间大小是相同的,知道数组的首元素的内存地址,要查找的元素只要知道下标,就可以快速的计算出偏移量,通过首...
Controller方法的返回值可以有以下几种:1、返回ModelAndView返回ModelAndView时最常见的一种返回结果。需要在方法结束的时候定义一个ModelAndView对象,并对Model和View分别进...
基于Spring-5.1.5.RELEASE问题都知道Spring通过三级缓存来解决循环依赖的问题。但是是不是必须三级缓存才能解决,二级缓存不能解决吗?要分析是不是可以去掉其中一级缓存,就先过...
封装JDBC工具类的作用可以优化代码,提高开发效率步骤
① 创建配置文件(config.properties),用于存放注册驱动和连接数据库时所需要的参数值② 自定义一个类(JDBCUtils.java)③...
一、AQS-条件变量的支持
在如下代码中,当另外一个线程调用条件变量的signal方法的时候(必须先调用锁的lock方法获取锁),在内部会把条件队列里面队头的一个线程节点从条件队列里...
entity上增加@JsonIgnoreProperties注解,标记需要忽略的属性,支持多个@Entity@JsonIgnoreProperties(value={"status","updateTime"})public class GoldSell implements Seria...
因为spring搭建的web项目打包时默认将resource文件夹下的文件一起打包,但是我们又想在打包后修改某些配置这里以我遇到的logback.xml配置更改默认路径来看根据LoggerFactory....
什么是线程池?很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用。线程池...
为什么需要定一个类去实现Runnable接口呢?继承Thread类和实现Runnable接口有啥区别呢?实现Runnable接口,避免了继承Thread类的单继承局限性。覆盖Runnable接口中的run方法,将线...
用java swing写的一个简单的五子棋游戏。下面是Main.java。package com.crossing.main;import com.crossing.view.GameWindow;public class Main { /** * @param args */ pu...
背景今天在调试项目的时候遇到一个坑,用Postman发送一个post请求,在Springboot项目使用@RequestBody接收时参数总是报不存在,但是多次检查postman上的请求格式以及项目代码都没...
本文旨在通过重写Comparator接口的compare()方法实现对List的升序、降序、倒序排序。首先明确一点:compare(Integer o1, Integer o2){}中,o1代表的是List容器中的后一个元素,o2...
此组件解决的问题是:「谁」在「什么时间」对「什么」做了「什么事」本组件目前针对 Spring-boot 做了 Autoconfig,如果是 SpringMVC,也可自己在 xml 初始化 bean使用方式基本使...
前言
EventBus 是 Guava 的事件处理机制,是观察者模式(生产/消费模型)的一种实现。观察者模式在我们日常开发中使用非常广泛,例如在订单系统中,订单状态或者物流信息的变更会向用...
根据value值的大小进行降序排序,并进行截取。public static void main(String[] args) { List<Map<String, Object>> list = Lists.newArrayList(); Map<String, Object> m...
这个问题困扰了很久,有些类不是controller在使用autowired注入的类显示为空,找到网上的方法是在类初始化时主动注入被Autowired的类,如下图这样的方法是可行的,最后引用时使用上...
springboot2.x暴露健康状况通过prometheus监控加入依赖 <!--prometheus监控 https://prometheus.io/docs/introduction/overview/--> <dependency> <groupId>org.springfram...
在日常开发中,分页遍历迭代的场景可以说非常普遍了,比如扫表,每次捞100条数据,然后遍历这100条数据,依次执行某个业务逻辑;这100条执行完毕之后,再加载下一百条数据,直到扫描完毕
那...
JPA全称为Java Persistence API(Java持久层API),它是Sun公司在JavaEE 5中提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具,来管理Java应用中的关系数据,JPA...
因为公司业务需要,需要把性能日志和业务日志分开打印,用elk收集处理,所以需要对不同的业务的日志,打印到不同文件。使用的是spring boot自带的logback。首先在yml文件配置logbac...
介绍微服务横行的互联网世界, 跨服务调用显得很平凡, 我们除了采用传统的http方式接口调用, 有没有更为优雅方便的方法呢?答案是肯定的,feign就提供了轻便的方式!如果你...
线程池:从设计思想到源码解析 前言初识线程池线程池优势线程池设计思路 深入线程池构造方法任务队列拒绝策略线程池状态初始化&容量调整&关闭 使用线程池ThreadPoolExecutorE...
将java对象转换为json对象,市面上有很多第三方jar包,如下:jackson(最常用)<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><depend...
笔者是一名刚上路的小萌新,有什么问题希望大家可以指正!以下为题目:
为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。
1、该系统的用户是:酒店前台。...
本文实例为大家分享了java使用ArrayList实现斗地主的具体代码,供大家参考,具体内容如下案例介绍按照斗地主的规则,完成洗牌发牌的动作。 具体规则:使用54张牌打乱顺序,三个玩家...
前言
写这篇文章的初衷是因为今天在使用mvn dependency:tree命令时,突然想起一年前面试阿里的一道面试题。面试题是说假设线上发生JAR包冲突,应该怎么排查?我那时候的回答是IDE...
前段时间研究了下 diamond 的原理,其中有个重要的知识点是长连接的实现,用到了 servlet 的异步处理。异步处理最大的好处是可以提高并发量,不阻塞当前线程。其实 Spring MVC 也...