java

【校招VIP】java语言考点之关键字static

考点介绍: static考点是面试的高频考点,一般从容易到难提问,比如从static的含义和理解、到JVM的存储或者到线程安全性,再到单例模式等。 答案详情解析和文章内容可扫下方海报二维码或点击链接即可查看! 一、考点题目 1、在java中,类Cat里面有个公有方法sleep(),该方法前有stat ......
考点 关键字 关键 语言 static

docker安装elasticsearch8.8.1+kibana,并用java连接

安装es 1,下载镜像 docker pull elasticsearch:8.8.1 查询是否下载成功 docker images 2,创建es网络 docker network create elastic 3,这里不挂载目录,单例模式,先后台启动 启动后可查看日志信息 docker logs ......

每周总结-第三周 java中的时间

JAVA中的时间 Date 日期 new Date()可以获取到系统时间。 getTime()能获取时间的long格式(毫秒),可以计算时间差。 Calendar 日历 get() 获取到时间的某一个部分 set() 设置时间->计算时间 格式化时间 Date , Calendar SimpleDa ......
时间 java

每周总结-第一周 java常用api概述

常用API概述 1.数学类. 2.包装类. 3.时间类. 4.字符串. 5.StringBuilder 和 StringBuffer 6.DecimalFomat Math数学类(使用不用导包) Abs(a):获取到绝对值 max(a,b) min(a,b) 最大值 最小值 pow(a,b):计算a ......
常用 java api

Java-泛型

1.泛型介绍 泛型的本质是参数化类型,这样在具体使用的时候可以临时确定是什么类型。泛型可以应用在 类、接口、方法、集合中,被称为 泛型类、泛型接口、泛型方法。 Java在语法上支持泛型,但是在编译阶段会进行所谓的“类型擦除”(Type Erasure),将所有的泛型表示(尖括号中的内容)都替换为具体 ......
Java

Java阻塞队列常用类与方法

### 阻塞队列 阻塞队列是一个可以阻塞的先进先出集合,比如某个线程在空队列获取元素时、或者在已存满队列存储元素时,都会被阻塞。 BlockingQueue 接口常用的实现类如下: - ArrayBlockingQueue :基于数组的有界阻塞队列,必须指定大小。 - LinkedBlockingQ ......
队列 常用 方法 Java

Java 内存管理最佳实践

本文翻译自国外论坛 medium,原文地址:https://medium.com/@fullstacktips/best-practices-for-memory-management-in-java-17084c4a7eec 内存管理是编程的一个基本领域之一,尤其是在 Java 开发中。当不再需要 ......
内存 Java

Java 双向BFS 算法实现

记录下实现的双向广度遍历(BFS)代码实现。 使用的结构复用[Java 迪杰斯特拉 算法实现](https://www.cnblogs.com/liu-im/p/17672088.html "Java 迪杰斯特拉 算法实现") 里的结构。 ```java public class BiBFS { p ......
双向 算法 Java BFS

Java之关闭进程端口

我们运行Java程序,经常会遇到端口号被占用的情况。 关闭的命令如下: 1.查找进程号(如查找8903端口对应的进程号) netstat -ano | findstr 8903 2.根据进程号杀掉端口(如杀掉进程号为42988的进程) taskkill /f /pid 42988 执行效果如下图 ......
端口 进程 Java

Java 迪杰斯特拉 算法实现

在这里记录下自己写的迪杰斯特拉代码。 # 思路 本质是贪心算法: * 开始时设定两个集合:S,T;S存入已经遍历的点,T存所有未遍历的点; * 首先将起点放入S中,更新T中所有节点的权重(和起点联通的节点更新权重,其他节点权重设为无穷大); * 在T中寻找权重最低的点(假设是M点),将M点放入S中, ......
算法 Java

Java Swing查看字体和设置全局字体

# 查看支持的字体 以下代码用于运行时在控制台打印支持的字体 ```java GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment(); final String AvailableFontFamilyN ......
字体 全局 Swing Java

再看java枚举

每一个枚举都是一个一个常量,遵循对象不可变,但对象中的内容可变,这个原则 枚举也可以说是对象,不过这个对象比较特殊,在赋值的时候不需要使用new,只需要声明变量以及构造方法就能赋值, 赋值方式,枚举名字(name,age) ......
java

java锁升级的过程

当我们只有一个线程的时候锁是无效的,所以在这个时候如果你加了一个锁那么这个锁叫做偏向锁,偏向我这个线程,当线程数量不是很多比如只有三五个线程,那么他们会进行锁争抢,这个时候锁会升级为自旋锁,当线程数量在增多,锁就会变成重量锁,Sys就是重量级锁 ......
过程 java

java性能监控

1:工具 Arthas JVISUALVM 2:使用 1)jvisualvm jconslole jstack 进入jdk安装目录的bin下 执行cmd 执行jvisualvm、 jconslole 、jstack即可显示 2)arthas 进入阿里官网进行下载 https://alibaba.gi ......
性能 java

java练习-读取写入文件、数组排序

需求: /* 文本文件中有以下的数据: 2-1-9-4-7-8 将文件中的数据进行排序,变成以下的数据: 1-2-4-7-8-9*/ package com.example.ss_0203_array.test.test_0901; import java.io.*; import java.uti ......
数组 文件 java

杰哥教你面试之一百问系列:java多线程

java多线程是java面试中的高频问题,如何才能在面试中脱颖而出呢?熟读这里的一百个java多线程面试问题即可。 ### 1. **什么是线程?什么是进程?** **回答:** - 线程是操作系统能够进行调度的最小执行单位,它包含在进程中,共享进程的资源。 - 进程是一个正在执行中的程序,它包含了 ......
线程 java

Java项目日常开发中使用BigDecimal常见问题总结

Java项目中有计算精度要求高的场景(如金额计算)会使用`BigDecimal`类型来代替`Double`、`Float`。 本文整理了一些日常开发中使用`BigDecimal`值得注意的问题和代码实例。 1. `BigDecimal`初始化时入参应使用`String`类型 例1: ```java ......
BigDecimal 常见问题 常见 项目 问题

Java 设计模式实战系列—单例模式

> 本文首发公众号:小码A梦 单例模式是设计模式中最简单一个设计模式,该模式属于创建型模式,它提供了一种创建实例的最佳方式。 单例模式的定义也比较简单:一个类只能允许创建一个对象或者实例,那么这个类就是单例类,这种设计模式就叫做单例模式。 单例模式有哪些好处: * 类的创建,特别是一个大型的类,只创 ......
模式 设计模式 实战 Java

有点意思的 Java 递归调用

最近在刷一些问题的时候看到有下面一个问题 上面问的是当输入的字符串为什么的时候返回 True 总结 在做题目的时候,第一次还做错了。 这是因为解答这个题目的时间只有 3 分钟,没有自己看题目 后来拿着程序跑了下。 public void testGetPut() throws Exception { ......
意思 Java

面试题——java有哪些特点

java有哪些特点 1.面向对象。 让程序耦合度更低,内聚性更高,Java是一种面向对象的编程语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。 面向对象(Object-Oriented)是一种编程思想,它将现实世界中的对象映射到程序中的类和对象,通过对象之间的交互和消息传递来 ......
特点 java

docker中java 程序运行方法

下面是在`/usr/local/dockerdata`目录下使用Dockerfile构建和运行Docker镜像的详细过程: 1. 在宿主机的命令行中,确保已经安装了Docker,并且当前工作目录为宿主机的任意位置(无关于Dockerfile所在位置)。 2. 创建一个名为`Dockerfile`的文 ......
程序 方法 docker java

java.lang.IllegalStateException: No primary or single unique constructor found for interface javax.servlet.http.HttpServletRequest问题的解决

# 问题描述 更改功能出现这样的问题; # 问题解决 经过不断试错,发现是这里出现问题: ![](https://img2023.cnblogs.com/blog/2808014/202308/2808014-20230831213643712-45226725.png) 然后将原来的这种: ![] ......

Java - ThreadPoolExecutor线程池分析

Java - ThreadPoolExecutor源码分析 1. 为什么要自定义线程池 首先ThreadPoolExecutor中,一共提供了7个参数,每个参数都是非常核心的属性,在线程池去执行任务时,每个参数都有决定性的作用。 但是如果直接采用JDK提供的方式去构建,可见设置的核心参数最多就两个, ......
ThreadPoolExecutor 线程 Java

Java新特性

一、Java新特性 主要内容 Lambda表达式 函数式接口 方法引用 Stream流式编程 二、函数式接口 函数式接口:接口中只能有一个抽象方法,其他的可以有default、static、Object里继承的方法等。 作用:在Java中主要用在Lambda表达式和方法引用(想使用Lambda表达式 ......
特性 Java

java代审之XXE

一、什么是XXE漏洞 xxe攻击也叫xml外部实体注入攻击,是一种常见的Web应用安全漏洞,通过漏洞可导致任意文件读取、目录遍历、探测内网端口、攻击内网网站、发起DoS拒绝服务攻击、执行系统命令等安全问题。 当应用程序使用XML处理器解析外部XML实体时,可能会发生XXE漏洞,使用场景比如后台解析x ......
java XXE

Java进阶篇-4

## 多线程 并发:在同一时刻,有多个指令在单个CPU上*交替*执行 并行:在同一时刻,有多个指令在多个CPU上*同时*执行 ### 实现方式 #### 继承Thread类 ```java //MyThread.java public class MyThread extends Thread{ } ......
Java

JAVA-基本程序设计结构(运算符、进制、位运算、字符串)

1.运算符 运算符是一种特殊的符号,用于表示数据的运算、赋值和比较以及连接值等。 1.算术运算符 算术运算符是对数值类型的变量进行运算。 算术运算符 运算符 运算 示例 结果 + 正号,表示变量为正数 +7 7 - 负号,表示变量为负数 b=11;-b -11 + 加 9+9 18 - 减 10-8 ......

java_查看jar包的JDK版本

# Java: 查看jar包的JDK版本 今天突然发现新编译的jar包在AS跑不起来了,报错如下: ```bash class file has wrong version 61., should be 55.0 ``` ![image-20230831161551715](https://img2 ......
版本 java jar JDK

Java 线程池原理及实践

1. 概述 1.1 线程池是什么 线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。 创建线程本身开销大,反复创建并销毁,过多的占用内存。所以有大量线程创建考虑使用线程池。线程池不用反复创建线程达到线程的复用,更具配置合理利用cpu和内存减少了 ......
线程 原理 Java

java spring框架后台接收List对象参数以及各种接收参数方法

因为最近项目有这个需求,开始按照自己的方法试了几次都不成功,最后在网上查找了半天,算是基本理清了原委,当然时间仓促,可能有不准确的地方,如果博友有更好的方法,欢迎留言交流. 直接上结论: 只能用JSON的方式传,有两种方法,不同之处在于是框架帮你转还是你自己转成对象 前提:要求前端请求头中conte ......
参数 后台 框架 对象 方法