
Java基础
文章平均质量分 78
本专栏是java基础、jvm调优等知识和经验的汇总。
小王师傅66
1、具有多年高并发、分布式项目实战经验,支持千万并发下单,曾深度参与冬奥会用车项目;
2、分库分表经验;
3、项目重构经验;
4、具有一定带队经验;
5、跨专业学习计算机,双证毕业,并获取了软件工程师证书。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Threadlocal的原理和使用
什么是Threadlocal类?Threadlocal类在多线程并发编程中起到什么作用?为什么使用ThreadLocal可能引起内存泄露问题?原创 2024-03-24 23:04:39 · 458 阅读 · 0 评论 -
Java字节码分析快速入门/字节码执行分析(一)
我们知道,计算机直接使用的程序语言语句是机器指令码,又称机器码/代码。但在Java开发过程中,Java源码先被编译成了字节码,然后才解释称机器码运行。这是为什么呢? 字节码是什么呢?原创 2023-06-28 20:48:31 · 1617 阅读 · 0 评论 -
JVM-运行时数据区
Java虚拟机在执行Java程序时,将它管理的内存分为不同的区域。这些区域用途不同,创建和销毁的时间也不同。有的随虚拟机进程启动一直存在,有的依赖用户线程启动和结束而创建和销毁。原创 2023-08-02 18:26:16 · 855 阅读 · 0 评论 -
JVM和JVM内存管理
以上是从内存管理的角度对jvm进行的知识框架梳理,以后在工作中还要多多使用,多多体会。同时,结合已有的工作经验,我更加深刻的认识到,有些时候因为对原理的不了解,研发过程中的一些不经意的"小操作",都可能引起巨大风暴:大量没有被引用的类文件,如果被加载到jvm中,在metaSpaceSize设置的少时,有可能引起OutofMemoryError:Metaspace错误;队列长度设置不当,很有可能导致内存溢出;完善的内存监控系统可以使我们的系统如虎添翼。原创 2024-03-09 21:48:19 · 871 阅读 · 0 评论 -
ThreadPoolExecutor 基础
ThreadPoolExecutor 类是Java并发包(java.util.concurrent)中用于创建和管理线程池的核心类,在本文中,我们将介绍一些关于ThreadPoolExecutor 基础内容。原创 2024-01-25 11:41:13 · 858 阅读 · 0 评论 -
关于java.util.concurrent包
java.util.concurrent 包下的类和接口是为了支持并发编程而设计。这个包提供了丰富的工具和数据结构,旨在简化多线程环境中的编程,并提高程序在并发执行时的性能、可伸缩性和可靠性。转载 2024-01-24 18:17:21 · 94 阅读 · 0 评论 -
使用CompletableFuture实现并发计算-结合实例
CompletableFuture是Java 8引入的一个强大的并发工具类,它是Future接口的扩展实现。它提供了更丰富的异步编程模型和功能,允许开发者以非阻塞的方式处理异步计算的结果,并且可以将多个异步任务链式组合起来形成复杂的流程。本文将结合代码应用讲解CompletableFuture的主要功能原创 2024-01-24 14:06:50 · 1249 阅读 · 3 评论 -
[Java基础]wait(),sleep(),notify(),notifyAll()
在实际的工作当中,经常会用到wait(),sleep(),notify(),notifyAll()等方法,我在这里系统的整理下。原创 2023-09-15 15:06:17 · 292 阅读 · 0 评论 -
[Java基础]对象转型
在这篇文章中,我们将继续学习Java基础知识:对象转型。对象转型在Java应用中非常广泛,在这篇文章中,我将系统的为大家梳理一下。1、一个基类引用类型的对象可以指向其子类的对象;2、一个基类的引用不能指向其子类新增的属性和方法;3、可以使用 引用类型 instance of 类名的方式来判断该引用类型所指向的对象属于该类还是该类的子类;4、子类对象可以当基类对象使用叫做向上转型(upcasting),基类对象可以当做子类对象使用称为向下转型(downcasting)原创 2023-08-17 19:22:31 · 302 阅读 · 0 评论 -
[Java基础]面向对象-关键字分析:this,static,final,super
在前面的文章中,我们讲过Java关键字是电脑提前定义好的,有特殊意义的标识符。Java关键字对编译器有特殊意义,用来表示一种数据类型,或程序的结构。关键字不能用来做为对象,类,方法,包,参数的名称。在这篇文章中,我们将介绍Java类中常用的关键字的使用:this,static,final,super在这篇文章中,我们主要学习了Java的4个关键字:this,static,final,super。原创 2023-08-08 16:17:54 · 279 阅读 · 0 评论 -
[Java基础]面向对象-内存解析
这篇文章,将为大家讲解,Java代码执行过程中,内存空间占用的情况,图文并茂,值得一看。原创 2023-06-09 15:08:05 · 697 阅读 · 3 评论 -
[Java基础]基本概念(下)运算符,表达式和语句,分支,循环,方法,变量的作用域,递归调用
在上一篇文章中,我们学习了Java基础基本概念中的标识符,关键字,基本数据类型。这篇文章,我们将学习:运算符,表达式和语句,分支,循环,方法,变量的作用域,递归调用。原创 2023-05-22 11:25:33 · 483 阅读 · 0 评论 -
[Java基础]基本概念(上)(标识符,关键字,基本数据类型)
hello 大家好,计算机语言各有不同,但本质上都是操作内存和计算。这章的内容是介绍Java中的基本概念展开,包括:标识符,关键字,Java基本数据类型,运算符,表达式和语句,分支,循环,方法,变量的作用域,递归调用。这些是Java运行的基础,就像我们人体内的筋骨,肌肉,血管一样。原创 2023-05-16 16:27:25 · 527 阅读 · 0 评论 -
【Java基础】Java总览
Java是一种的编程语言,其他面向对象的编程语言还有C#,C++,Python,Python,golang,VB等。原创 2023-04-23 15:25:45 · 666 阅读 · 1 评论 -
Java本地方法/Java native方法/JNI
JNI主要用于Java调用非Java语言的方法,或者调用操作系统或硬件的方法。在Java中使用时,用native修饰符修饰。在Java虚拟机管理的内存中,由本地方法栈为JNI服务,有些虚拟机直接将虚拟机栈和本地方法栈合二为一,不是所有的虚拟机都支持本地方法。原创 2022-09-27 14:14:25 · 1509 阅读 · 0 评论 -
JAVA中的static关键字
我们在编程时经常会遇到这样的需求:描述一类学生。在描述的过程中可能会碰到以下的两个问题:原创 2017-02-26 19:15:05 · 490 阅读 · 27 评论 -
【工具】Debug 调试 Java 程序
最近公司Java开发后端用的IDE是eclipse,之前使用过Myeclipse和idea,对eclipse调试还不是很熟,所以需要学习一下。 Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Ecl原创 2017-10-15 23:04:46 · 772 阅读 · 24 评论 -
使用HashSet<String>将map集合去重
在前面的博客中讲过用map做小实体,接收数据。现在业务要求是:对实体集合去重原创 2017-12-10 19:53:03 · 3314 阅读 · 21 评论 -
【Spring-data-jpa】利用@query组合查询
经理要求我们在所有的查询语句中(除了根据id查询)都加上限制字段orgId,为什么?如何加呢?原创 2017-12-03 22:27:00 · 2270 阅读 · 19 评论 -
根据ID集合查询符合某种类型的用户信息,并按其他类型分类
配合前端页面,根据部门id集合查询该部门下管理员类型是物资管理员的所有用户的userId,userName,并按部门和业务管理员类型分类;(物资管理员下还会分三种业务管理员,负责不同的业务)原创 2017-11-19 23:28:30 · 3557 阅读 · 22 评论 -
【Spring-data-jpa】根据userId删除用户信息
在spring-data-jpa的Dao层中,有根据Id删除用户信息的方法,如果根据userId删除,需要自己在IDao中写方法原创 2017-11-25 19:26:16 · 5438 阅读 · 25 评论 -
【Spring-data-jpa】根据userName模糊查询
spring-data-jpa,根据userName模糊查询原创 2017-11-25 19:29:30 · 1482 阅读 · 25 评论 -
spring data jpa 框架在实体类中添加非数据库字段的属性
Spring-data-jpa表实体的字段和表的字段是一一对应的。比如,那么,如果我在查询时,想在表字段的基础上添加几个返回的字段,怎么办?原创 2017-12-31 20:19:05 · 18485 阅读 · 17 评论 -
工作流
在项目中有审批的需求,所以,深入了解工作流的时候到了。一、应用场景:采购员提出物品的入库申请,由验收入库审批人进行审批,审批通过,则进行入库。审批不通过/不同意/通过,审批意见会再回到审批提出者——采购员。二、流程图: 具体如何应用,请看下篇分解原创 2017-12-17 22:21:18 · 405 阅读 · 24 评论 -
【JAVA基础】遍历list<Entity>,获取id数组
一、需求 从资产历史表中,查出资产id是“1”的所有历史资产。二、思路 我们使用hibernate做的jpa的实现,在IDao中写这样的查询语句:@Query(value = "select p from AssetInfoHist p where p.assetId in ?1") public List queryListByAssetIds(Stri原创 2018-01-21 23:05:34 · 6191 阅读 · 27 评论 -
【java集合】结合web项目对泛型的理解
一、泛型 关于泛型的概念,请参考博客:https://www.cnblogs.com/MrZhang1/p/7261232.html 举个例子:人类在不断向文明进化的过程中,创造了洗手间,本意是让大家文明生活。但有一天,当男人和女人同时进了一个洗手间,不好的事情就发生了。。恩。。呃。。,各位自行想象。本来建个洗手间是方便大家生活的,结果还制造了更大的麻烦。肿么办?! 建两个洗手间:男洗...原创 2018-06-10 23:39:02 · 394 阅读 · 4 评论 -
【Spring-data-jpa】Spring-data-jpa与spring,jpa,Hibernate的关系总结
我们在使用持久化工具的时候,一般都有一个对象来操作数据库,在原生的Hibernate中叫做Session,在JPA中叫做EntityManager,在MyBatis中叫做SqlSession,通过这个对象来操作数据库。我们一般按照三层结构来看的话,Service层做业务逻辑处理,Dao层和数据库打交道,在Dao中,就存在着上面的对象。那么ORM框架本身提供的功能有什么呢? ...原创 2018-08-05 19:45:22 · 962 阅读 · 2 评论 -
【Java基础】用final关键字修饰方法的参数
在项目学习过程中,接触到了一种传参的方式:用final关键字修饰方法的参数。一、在方法中,用final修饰参数的好处如下:1、确保,不会也不能对于参数进行修改,保证了调用发起方数据的安全;2、避免在方法体中修改参数,引起不必要的错误;3、程序员工作不是一个人的工作,你设置为final,别人将来维护的时候一看就知道这个变量不能修改,而不需要去记忆这个是不能变化的值,是常量。...原创 2018-08-12 20:22:58 · 2019 阅读 · 2 评论 -
【Java基础】Hashmap
hashMap实现Map接口,基于hashing原理,以键值对形式存储,允许null键/值,非同步的集合类型; hashmap的底层存储结构是基于数组和链表的。一、put方法public Object put(Object key,Object value);1、因为hashmap存储的底层结构是数组和链表,所以,当我们put时,需要计算出数组的下标:1)...原创 2018-09-30 20:30:28 · 365 阅读 · 0 评论 -
页面报错404
报错分析: 在之前的项目中经常会看到页面报404的错误:找不到页面,大多数情况下是文件路径写错了;前几天在项目中,碰到了另一个错误:400错误。百度一下: 404:语法解析错误:因为错误的语法导致服务器无法理解请求信息。 现在的项目前后端分离,前后端实体的字段类型,字段名匹配,后端接收前端发过来的请求进行处理。 错误分析:原创 2017-10-22 22:33:10 · 11690 阅读 · 28 评论 -
【JAVA基础】[异常处理]项目中悄无声息的RuntimeException
关于异常处理,你知道哪些内容?项目中自定义的RuntimeException是用来做啥的,你清楚不?!原创 2017-09-30 23:14:17 · 778 阅读 · 14 评论 -
【JAVA基础】list和字符串判空
我们在项目中经常需要对获取的list集合或String类型变量判空,看前辈的代码,不同的人判空的方法不一样,那么,Java代码中,对list集合和String类型变量到底该如何判空呢?原创 2017-09-03 16:44:59 · 2762 阅读 · 15 评论 -
【SSH错误整理】node to traverse cannot be null!
hibernate报错:node to traverse cannot be null!原创 2017-04-05 15:31:30 · 1711 阅读 · 29 评论 -
《计算机网络原理》总结<二>---OSI/RM模型
计算机网络的七层模型和我们在编程时使用的“三层”有异曲同工之妙,抽象,解耦,透明,分工明确,对关联不紧密的层透明。原创 2017-04-17 21:16:32 · 1947 阅读 · 26 评论 -
《SSH框架》---还你一个清晰的配置
一开始敲ssh,完全被各种配置弄晕了,看着视频里的老师,一会儿往application中配置,一会儿往Struts里配置,最重要的是,他以为我都理解了,完全不告诉我为什么这样配!当时,我在心里哭啊,老师,我并不知道为什么啊!原创 2017-03-26 16:19:15 · 629 阅读 · 23 评论 -
《SSH框架》---SSH框架与框架
SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架。 那么,我们为什么要学习框架呢?这些框架的本质到底是什么呢?原创 2017-03-12 10:14:35 · 5125 阅读 · 36 评论 -
《SSH框架》---Hibernate
Hibernate是轻量级Java EE应用的持久层解决方案,是流行的ORM框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以面向对象的方式来操纵数据库。它的作用原理是什么呢?又是如何与Spring交互的呢?原创 2017-04-10 11:16:33 · 929 阅读 · 24 评论 -
《SSH框架》---spring
spring框架,是进行对象管理,对象关联,解耦的一个中间层框架。SSH(Struts+Spring+hibernate)三大Spring在中间就起着一个承上启下的作用。原创 2017-04-09 15:00:31 · 554 阅读 · 25 评论 -
《SSH框架》Struts2
ssh框架中,第一个 s 指Struts,那么什么是Struts呢?这部分的作用是什么呢?又是如何使用的呢?原创 2017-04-09 14:16:25 · 1521 阅读 · 24 评论 -
浅识静态函数
上篇博客,为大家解析了关于静态变量由static修饰,那么,什么是静态函数呢?又是用来做什么的呢?静态函数和普通函数的区别是什么呢?原创 2017-03-05 14:22:29 · 971 阅读 · 20 评论