threadlocal 20230615 java lang

Java算法排序之冒泡/插入/选择/快速、二分查找 - 附动图

1. Java排序:冒泡排序 - 最简单 (1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。 (2)这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。 (3)N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成 ......
算法 Java

面试现场简单几道java算法题, 你能写出几道?

这两天小编逛论坛的时候发现一个很有意思的事情,就是一位互联网公司的面试官分享的,他们最近想招一批java的实习生,所以他们的面试题并不难,但是前来面试的人,却很多都挂在了几道算法题上,要么就是逻辑不严谨,要么就是题目都看不懂的,还有就是书写错误的,这让他感到很诧异,毕竟算法其实对于程序员来讲应该是很 ......
算法 java

Java源码系列4——HashMap扩容时究竟对链表和红黑树做了什么?

Photo by hippopx.com 我们知道 HashMap 的底层是由数组,链表,红黑树组成的,在 HashMap 做扩容操作时,除了把数组容量扩大为原来的两倍外,还会对所有元素重新计算 hash 值,因为长度扩大以后,hash值也随之改变。 如果是简单的 Node 对象,只需要重新计算下标 ......
源码 HashMap Java

Java命名规范

## Controller 查询方法(使用 query 做前缀) 新增方法(使用 add 做前缀) 修改方法(使用 modify 做前缀) 删除方法(使用 delete 做前缀) ## Service 分页查询方法(使用 page 做前缀) 查询单个对象方法(使用 get 做前缀) 查询多个对象方法 ......
Java

Java设计模式——23种设计模式总结

一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石 ......
设计模式 模式 Java

Java23种设计模式和六大设计原则

1、设计模式的六大原则 ☛开闭原则 对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 ☛里氏代换原则 里氏代换原则是面向对象设计 ......
设计模式 原则 模式 Java 23

java23种设计模式—— 一、设计模式介绍

Java23种设计模式全解析 一、设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是 ......
设计模式 模式 java 23

“阿里爸爸”上新!《2023阿里Java性能调优手册(实战参考)》

为什么要学Java性能调优? 现在去学性能调优还有用么? 现在行业变化太快,裁员缩招屡见不鲜,而应对的方法即是--核心竞争力。打磨自己的专业技能,成为本职行业的前百分之二十,行业再怎么变动,你总能安身立命。 在任何一个细分领域内,成为前1%,拼的是天赋,是智力决定的。但若仅仅想要成为20%,成为被二 ......
实战 爸爸 性能 手册 2023

Java17新特性及代码示例:还在使用Java8? 这5个Java17新功能,你会喜欢的

SpringBoot3.0最低支持JDK17,各开源软件正在全面拥抱JDK17. 有升级计划的调查受访者中,37%的人计划在未来六个月内升级到2021年9月份发布的LTS版本JDK 17。另有25%的人计划在未来6到12个月内升级到JDK 17。 这5个你喜欢的JDK17新功能,会让你升级JDK17 ......
Java 示例 新功能 特性 代码

Java9-17新特性解读+案例+说明+注意+发展趋势

前言 Java8出来这么多年后,已经成为企业最成熟稳定的版本,相信绝大部分公司用的还是这个版本,但是一眨眼今年Java19都出来了,相信很多Java工程师忙于学习工作对新特性没什么了解,有的话也仅限于某一块。 本篇就是博主对自己感觉有用的新特性做了一个案例验证及简要说明,整合起来分享给大家。 特别说 ......
特性 趋势 案例 Java9 Java

JAVA第十一次作业

1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。 package www; import java.util.Scanner; public class ooo { public static void main(String[] args) { Scanner ......
JAVA

白嫖!字节跳动 Java岗顶级面试解析(2023版),GitHub巅峰神作!

开始之前,先说一下我非常推荐的一种学习方式: 带着问题学习或者准备面试。 另外,准备面试的小伙伴,一定要根据自身情况制定好复习计划! 并且,你最好还要时不时自测一下,对着一些面试常见的问题进行自问。 最近,我分析了上百份大中小厂的面经,发现了许多Java 面试中最最最常问的一些问题!并且都在字节跳动 ......
巅峰 字节 顶级 GitHub Java

关于JAVA项目公共字段自动填充的理解

公共字段字段填充是什么? “公共字段自动填充”顾名思义,其实就是省略了在程序当中对某些字段手动填写的步骤,大大提高了效率! 为什么要使用公共字段填充技术在我们的程序当中? 在我们项目的开发中,当我们在修改数据库中的某些值的时候,有一些字段属于公共子段,就是有些字段不仅是在某一个表里有,而是好几张表里 ......
字段 项目 JAVA

深入理解 Java 反射和动态代理

简介 什么是反射 反射(Reflection)是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。 通过反射机制,可以在运行时访问 Java 对象的属性,方法,构造方法等。 反射的应用场景 反射的主要应用场景有: 开发通用框架 - 反射 ......
动态 Java

Spring Boot 3.0.0 来啦!最小依赖 Java17!升还是不升?

Spring 官方于 2022 年 1 月 20 日发布 Spring Boot 3.0.0-M1 版本,预示开启了 Spring Boot 3.0 的里程碑。 官方公告下的中文评论有点东西。。。熟悉的味道!就是那个味! 分享一篇朋友对 SpringBoot3.0 的介绍:生还是不生? Spring ......
还是 Spring Boot Java 17

Java 多线程:彻底搞懂线程池

熟悉Java多线程编程的同学都知道,当我们线程创建过多时,容易引发内存溢出,因此我们就有必要使用线程池的技术了。 最近看了一些相关文章,并亲自研究了一下源码,发现有些文章还是有些问题的,所以我也总结了一下,在此奉献给大家。 目录 1 线程池的优势 总体来说,线程池有如下的优势: (1)降低资源消耗。 ......
线程 Java

GitHub上最热门的Java开源项目

这是一个轻快,简洁,功能强大,使用Java开发的博客系统。 2jeecg-boot https://github.com/zhangdaiscott/jeecg-boot Star 2873 这是一款基于代码生成器的JAVA快速开发平台!提高UI能力的同时,降低前后分离的开发成本,JeecgBoot ......
项目 GitHub Java

高级Java开发面试常用题的答案

一、数据结构与算法基础 · 说一下几种常见的排序算法和分别的复杂度。 · 用Java写一个冒泡排序算法 /** 现在有一个包含1000个数的数组,仅前面100个无序,后面900个都已排好序且都大于前面100个数字,那么在第一趟遍历后,最后发生交换的位置必定小于100,且这个位置之后的数据必定已经有序 ......
答案 常用 Java

Java数组和数据存储

数组的定义 数组是相同类型数据的有序集合。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。 数组的四个基本特点: 1.长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 2.其元素的类型必须是相同类型,不允许出现混合类型。 3.数组类型可以是任何数据类型,包括基本类型 ......
数组 数据 Java

模拟双色球彩票系统(java)

一、问题描述 注:六个红色球号码均不同,蓝色球号码可以红色球号码相同; 二、设计思路 (1)先随机出一个中奖号码,依据这个号码对后续进行颁奖; (2)再从用户端接收对应的6个红色球号码以及1个蓝色球号码; (3)将中奖号码与用户号码进行对比,得出对应的中奖结果; ps:”如何得到不重复的随机数“值得 ......
双色球 双色 彩票 系统 java

JAVA生产环境性能监控与调优看这一篇就够了

JVM的内存结构 JVM的参数类型 标准参数(各版本中保持稳定) -help -server -client -version -showversion -cp -classpath X 参数(非标准化参数) -Xint:解释执行 -Xcomp:第一次使用就编译成本地代码 -Xmixed:混合模式, ......
性能 环境 JAVA

最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁

最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁 在Java并发场景中,会涉及到各种各样的锁如公平锁,乐观锁,悲观锁等等,这篇文章介绍各种锁的分类: 公平锁/非公平锁 可重入锁 独享锁/共享锁 乐观锁/悲观锁 分段锁 自旋锁 最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+ ......
Java

数据库问题之“字符编码问题 Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8E\x81\xE7\x88...' for column 'product_name' at row 41”

1)表1和表2的产品名称[数据库字段]字符编译方式不一致 ①问题 org.springframework.jdbc.UncategorizedSQLException: Error updating database. Cause: java.sql.SQLException: Incorrect ......

每日汇报 第二周第三天 JAVA面向对象编程

今日所学: 面向对象编程在JAVA中的特点;明确成员变量、成员方法和构造方法的使用方式;this关键字的使用;final关键字的使用;类的继承、类的多态、抽象类和接口的相关知识 明日计划: 再看看面向对象编程 遇到困难:练车真坐牢还要考试 ......
对象 JAVA

Java虚拟机(JVM)内存底层分析

对象和类的详解 类:我们叫做class。 对象:我们叫做Object,instance(实例)。 总结 1.类可以看成一类对象的模板,对象可以看成该类的一个具体实例。 2.类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。 类的定义:对于一个类来说,有三种成员 ......
底层 内存 Java JVM

java打印数组的方法

1. 转型打印 System.out.println(Arrays.toString(arr)); System.out.println(Arrays.asList(arr)); System.out.println(Arrays.deepToString(arr)); 2. 流循环打印 Array ......
数组 方法 java

Java-基本语法回顾总结[37-48]

常用的JVM启动参数有哪些?-※ ......
语法 Java 37 48

java的vscode自动补全

1. vscode补全 打印、循环 和 main函数 vscode支持 Eclipse 和 IDEA 两个IDE的代码补全方式 具体如下表: 代码片段 Eclipse风格快捷方式 IDEA风格快捷方式 System.out.println() sysout sout System.err.print ......
vscode java

java调用filter,map方法

java的集合类,没有直接实现filter,map这些函数式方法,要调用这些方法,可以使用 Java8 的 Stream API 详细使用可参考: Java8中Stream详细用法大全 Java8 的 Stream API 的坑 1. 没有直接的 findObj 方法 findFirst 和 fin ......
方法 filter java map

Java编程里的控制语句

控制语句:把语句组合成能完成一定功能的小逻辑模块。它分为三类:顺序、选择和循环。 1.“顺序结构”代表“先执行a,再执行b”的逻辑。 2.“条件判断结构”代表“如果…,则…”的逻辑。 3.“循环结构”代表“如果…,则重复执行…”的逻辑。 条件判断结构(选择结构) 条件判断结构有:if结构和switc ......
语句 Java