阳光 学院java

Java面试题 P8:接口和抽象类的区别

普通回答: 1、抽象类可以有抽象方法和实现的方法,可以存在普通成员函数,而接口中只能存在public interface方法。 2、抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。 3、抽象类只能继承一个,接口可以实现多个。 抽象类和接口的异 ......
接口 Java

Java面试题 P7:重载和重写的区别

重载:发生在同一个类中,方法名必须相同,参数类型不同,参数个数不同,参数顺序不同,方法返回值和修饰符可以不同。 1 public int add(int a,String b) 2 public String add(inta,String b) 3 //编译时会报错 4 重载与返回值无关。 重写: ......
Java

Java 使用GZIP进行压缩和解压缩(GZIPOutputStream,GZIPInputStream)

完整代码: package com.example.test.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import jav ......
GZIPOutputStream GZIPInputStream Java GZIP

Java面试题 P6:String StringBuffer StringBuilder区别及使用场景

String是final修饰的,不可变,每次操作都会产生新的String对象; StringBuffer和StringBuilder都是在原对象上操作; StringBuffer是线程安全的,StringBuilder现场不安全的 StringBuffer方法都是synchronized(加锁)修饰 ......

1、java基础语法

1、 swicth(表达式) { } 表达式的值可以的数据类型: byte short int char String 枚举( jdk1.8新特性) ......
语法 基础 java

Java并发(十三)----共享存在的问题

1、小故事 老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去,赚一点外快 小南、小女(不同的线程)来使用这个算盘来进行一些计算,并按照时间给老王支付费用 但小南不能一天24小时使用算盘,他经常要小憩一会(sleep),又或是去吃饭上厕所(阻塞 io 操作),有时还需要一根烟,没烟时思 ......
问题 Java

【Java】信创开发(东方通)中台后端项目踩坑小记

在万事国产化以备世界风云突变之日,我们做软件开发的也不可避免的需要完成一部分信创项目,通常 Web 项目国产化部署的首要选择都是东方通 Web 容器。此次中台项目信创适配过程中踩坑无数,唯独这个坑让我印象深刻念念不忘,接下来就请诸君与我共同复盘一下。 背景:中台项目源于 ruoyi 开源框架,根据公 ......
小记 项目 Java

java基础

# 注释 单行注释 ```java //这是单行注释 ``` 多行注释 ```java /*一段 *多行注释 */ ``` 文本注释 ```java /** * * @param args */ ``` # 关键字 是被Java语言赋予特殊含义,具有专门用途的单词,比如class,int,doubl ......
基础 java

java线程详解

# java线程详解 ## 线程 ### 概念 说到线程,就不得不提进程,为什么呢,因为进程是操作系统进行分配资源和调度的最小单位,比如windows系统安装的应用软件(office、qq、微信等)启动时,由操作系统协调分配资源和调度执行称之为一个进程,进程间是相互独立和隔离的。而线程是进程最小执行 ......
线程 java

java统计数据库字段

package db; import java.sql.*; import java.util.ArrayList; import java.util.List; /** * @Author : dominic * */ public class Statistic { public static ......
字段 数据库 数据 java

学习Java第6天

java语法 Java注释 单行注释:// 多行注释:/* */ 文档注释:/** */ 标识符与关键字 java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符 标识符注意点 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始 首字母以后可以是字母(A- ......
Java

linux更改java版本

## 查看系统版本 ```shell uname -a ``` ## 查看java当前版本 ```shell which java ``` ```shell echo $JAVA_HOME ``` ## 下载新的jdk http://www.oracle.com/technetwork/cn/jav ......
版本 linux java

最全面的JAVA多线程知识总结

​ 背景: 2023年经营惨淡,经历了裁员就业跳槽再就业,在找工作过程中对于知识的梳理和总结,本文总结JAVA多线程。 应用场景: 需要同时执行多个任务或处理大量并发请求时, 目前常用的场景有: Web服务器: 在Web服务器中,每个请求通常都是一个独立的任务,通过使用多线程可以同时处理多个请求,提 ......
线程 面的 知识 JAVA

java主线程等待多个子线程中任意一个有结果后,主线程继续执行

1.背景 2.代码 package com.qianxingniwo.ls; import org.junit.Test; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.locks.Lo ......
线程 多个 结果 java

Java中代码Bug记录--泛型失效、数组删除、HashMap死循环

最近在工作的过程中,遇到了不少奇怪自己或者同事的Bug,都是一些出乎意料的,不太容易发现的,记录一下来帮助可能也遇到了这些Bug的人 # 1. 编译时泛型校验失效 ```java Map nameToType = new HashMap(); nameToType.put( "testName", ......
数组 HashMap Java Bug

[Java] Stream流求和、排序、分组

List、Set集合通过Stream流求和 一、泛型为Integer、Long、Double、BigDecimal求和 Integer sum = scores.stream().reduce(Integer::sum).orElse(0); Long sum = scores.stream().r ......
Stream Java

Java学习Day04

# JAVA学习Day03 ## 一、类型转换 1. 数据类型由小到大的排序 byte short int(char) long float double 2. 自动类型转换/隐式类型转换: 小类型转大类型 3. 强制类型转换 1. 大类型转换成小类型 2. 语法: (要转换成的类型) 变量 3. ......
Java Day 04

【Java异常】Variable used in lambda expression should be final or effectively final

https://blog.csdn.net/weixin_44299027/article/details/117333667 *lambda表达式中使用的变量应该是final或者有效的final*,也就是说,lambda 表达式只能引用标记了 final 的外层局部变量,这就是说不能在 lambd ......
final effectively expression Variable lambda

阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义

分层领域模型规约: DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。 DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。 BO( Business Object):业务对象。 由Service层 ......
手册 Java POJO DTO

java代码怎么正则删除redis的数据

1、java代码怎么正则删除redis的数据 2、无法使用redis导致java内存溢出 3、redis一直循环获取有值就处理java 4、怎么在java中传redis命令 5、java不会redis找不到工作 6、java服务redis重启后需要重启吗 java代码怎么正则删除redis的数据 p ......
正则 代码 数据 redis java

java zipfile解压文件乱码

JDK提供了构造函数,我们指定zip文件的字符集。 //根据ZIP文件创建ZipFile对象 zipfile解压文件乱码,可指定编码 ZipFile zipFile = new ZipFile(zipFileName,"gb2312"); // ZipFile zipFile = new ZipFi ......
乱码 zipfile 文件 java

java 文件名中文乱码解决

java文件名中文乱码解决 String jsonFileName = ""; jsonFileName = new String(file.getName().getBytes(),"gb2312"); System.out.println("1 "+jsonFileName); jsonFile ......
乱码 文件名 文件 java

JAVA 序列化(创建可复用的 Java 对象)

保存(持久化)对象及其状态到内存或者磁盘 Java 平台允许我们在内存中创建可复用的 Java 对象,但一般情况下,只有当 JVM 处于运行时,这些对 象才可能存在,即,这些对象的生命周期不会比 JVM 的生命周期更长。但在现实应用中,就可能要求在 JVM停止运行之后能够保存(持久化)指定的对象,并 ......
序列 对象 JAVA Java

Java并发篇:6个必备的Java并发面试种子题目

免费体验AI绘画:https://www.topgpt.one;文章涉及了几个常见的并发编程相关的主题。首先,线程的创建和生命周期是面试中常被问及的话题,面试官可能会询问如何创建线程、线程的状态转换以及如何控制线程的执行顺序等。其次,synchronized关键字是用于实现线程同步的重要工具,面试中... ......
子题目 Java

java笔记_11_JVM调优参数(转载)

-Xms2048m // 设置jvm的初始内存。这个值最好设置的跟-Xmx相同,以避免每次垃圾回收完成后JVM都要重新分配内存 -Xmx2048m // JVM最大可用内存 -XX:PermSize=256M // 设置持久代大小 -XX:MaxPermSize=512M // 设置最大持久代大小 ......
参数 笔记 java JVM 11

java后台接收ajax发送的参数

1、前台发送数据到服务端,以及接受后台数据 前台发送数据到服务端,有两种方法: (1)使用 表单发送同步请求 参数inputStr: 参数intputInt: (2)使用ajax发送异步请求,发送的数据为json对象 参数username: 参数password: <scripttype="text ......
后台 参数 java ajax

Java面试题 P5:简述final作用

1、简述final作用? final含义是最终的。 (1)修饰类:表示类不可被继承,不可以有子类; (2)修饰方法:表示方法不可以被子类覆盖,但是可以重载; (3)修饰变量:表示变量一旦被赋值就不可以更改它的值。 (4)修饰成员变量 如果final修饰的是类变量,只能在静态初始化块中指定初始值或者声 ......
作用 final Java

Java解决高并发秒杀商品

在看本文章之前,需要了解Spring boot搭建和使用 ,本篇文章核心问题是如何解决高并发问题。 开发环境:redis缓存4.0.1,Rabbitmq消息队列,Erlang(这个跟MQ环境有关,先安装Erlang,再安装MQ),mysql5.7,JDK1.8(Spring boot要用1.8以上的 ......
商品 Java

Java面试题 P4:==和equals

==对比的是栈中的值,基本数据类型是变量值,引用类型是堆中内存对象的地址 new String(“abc”),实际上是指向了堆中的内存对象应用地址。 String str1=“Hello”; //放入堆中的常量池 String Str2=new String("Hello");//在堆中去分配内存, ......
equals Java

Java面试题 P3:JDK JRE JVM三者区别

JDK:java 开发工具(由JRE+java工具) JRE:java运行时环境(由jvm+lib类库组成) JVM:java虚拟机(bin目录) 图形表示如下: ......
Java JDK JRE JVM