- 博客(501)
- 收藏
- 关注
原创 在 Mac 上安装 JDK 21 的详细流程
在 macOS 上安装 JDK(Java Development Kit)21 是相对简单的过程。本文将引导你完成从下载到安装的每一步。通过上述步骤,你已经在 Mac 上成功安装并配置了 JDK 21。现在,你可以开始使用 Java 进行开发了。如果某些应用程序需要明确的。
2024-06-11 21:57:54
1376
原创 Java中创建线程的四种方法
通过使用Executor框架创建和管理线程池,提高资源利用效率和任务管理能力。: Java不支持多重继承,类已经继承了Thread类,就不能再继承其他类。通过实现Callable接口,可以在线程执行结束后获取返回值或抛出异常。: 高效管理大量线程,避免频繁创建和销毁线程,适用于并发任务较多的场景。: 可以返回结果或抛出异常,适用于需要获取线程执行结果的场景。: 适合多个线程共享同一个Runnable实例,更灵活。: 需要额外的管理线程池的开销。: 无法直接获取线程的返回值。: 简单易用,适合快速实现。
2024-06-10 19:08:01
277
原创 面试官:你能解释一下 `ReentrantLock` 和 `synchronized` 的区别吗?
通过这些区别,我们可以根据具体需求选择合适的同步机制。如果需要更高的性能和灵活性,可以选择。在各种特性上的差异,并根据具体需求选择合适的同步机制。如果需要简单易用的同步机制,可以选择。通过这个表格,您可以更直观地看到。
2024-06-10 00:08:52
435
原创 面试官:什么是CAS?
CAS 操作涉及三个参数:内存位置(V)、预期值(A)和新值(B)。,即它在比较和交换的过程中不会被其他线程打断,从而避免了数据不一致的问题。在 Java 中,CAS 操作通常通过。实现了一个线程安全的递增操作,通过。方法来进行 CAS 操作。在这个示例中,我们使用。
2024-06-09 23:58:42
159
原创 【offer收割机】初中级Java工程师面试看这个就够了,2024Java面试题及答案汇总大全
大家好,最近一个月,花了不少时间,给大家整理了一套 2024 的技术面试资料包括各大厂最新面试题以及面经解析涉及JVM,Mysql,并发,Spring,Mybatis,Redis,RocketMQ,Kafka,Zookeeper,Netty,Dubbo,ElasticSearch,Flink,Spring Boot,Spring Cloud,高并发项目,大数据系列,数据结构与算法,设计模式,网络与操作系统等20个技术栈的大厂面试题及详解文档(接近2000页)。具体包含哪些内容,请往下看。
2024-05-05 21:26:17
691
原创 分布式存储概念及特性
系统的响应延迟是指某个请求发出到接收到返回结果所消耗的时间,通常用平均延迟来衡量。· DynamoDB:Amazon 公司的一个分布式存储引擎,是一个经典的分布式Key-Value 存储系统,具备去中心化,高可用性,高扩展性的特点,达到这个目标在很多场景中牺牲了一致性,Dynamo在Amazon中得到了成功的应用,能够跨数据中心部署于上万个结点上提供服务,它的设计思想也被后续的许多分布式系统借鉴。数据一致性:分布式存储系统多个副本之间的数据一致性,有强一致性,弱一致性,最终一致性,因果一致性,顺序一致性。
2024-05-05 21:20:33
704
原创 Springcloud Gateway网关日志这样打才完美
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
2022-09-12 02:54:34
1542
1
原创 mysql5.7 实现分组后组内排序功能 ROW_NUMBER() OVER (PARTITION BY)
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
2022-09-11 10:14:11
1530
原创 2022年最新Vue+electron项目创建
创建完项目后,进入项目然后再插件管理中选择添加插件查询:electron-builder,安装一下就好了当然如果你是命令行操作的,直接安装就行了深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
2022-09-11 01:23:48
1295
原创 kubernetes部署Elasticsearch eck
Elastic Cloud on Kubernetes (ECK)可以基于kubernetes operator在kubernetes集群中自动化部署、管理、编排Elasticsearch、Kibana、APM Server服务。管理和监测多个集群轻松升级至新的集群版本扩大或缩小集群容量更改集群配置动态调整本地存储的规模(包括 Elastic Local Volume(一款本地存储驱动器))执行备份。
2022-09-07 15:24:06
687
原创 JVM 面试必问的 CMS,你懂了吗?
CMS 的整个垃圾回收过程中只有2个阶段是 stop the world,一个是初始标记,一个是重新标记,初始标记只标记GC Roots直达的对象,因此一般不会耗时太久,而重新标记出现耗时久的现象则比较多见,通常如果CMS GC较慢,大多都是重新标记阶段较慢导致的。简单来说就是:遍历的广度不变,但是深度变浅了。此时对象Z是灰色对象,GC线程对其进行搜索,搜索结束后将其标记为黑色,也就是时刻3,此时对象Z其实没有到GC Roots的引用,理应被回收,但是因为被错误的标记为黑色,而在本次GC中存活了下来。
2022-09-07 12:55:20
905
原创 java输出数组的方法
这就需要调用Arrays里的toString方法,这个toString方法是有参数的方法,需要传进去你想要的打印的数组为参数。对于初学者来说,数组的输入输出是一个麻烦的问题,下面列举几个数组的输出方法。1.单个数组元素的输入输出。
2022-09-07 10:20:47
1434
原创 Dubbo服务无法注册到ZK上
今天发现自己的dubbo服务注册不到zk上,找了一圈没找到问题,最后才发现原来是主启动类上忘记加dubbo的注解了,大家一定不要忘记了。
2022-09-07 07:50:18
1302
原创 java怎么获取list长度
方法三:集合类的通用遍历方式, 从很早的版本就有, 用迭代器迭代Iterator it = list.iterator();while(it.hasNext()) {System.ou.println(it.next)}方法一:超级for循环遍历for(String attribute : list) {System.out.println(attribute)}
2022-09-06 17:42:57
2229
原创 java中间件有哪些java常用中间件介绍
之前给大家介绍了很多的java基础知识,今天同样的也是要给大家介绍这方面的内容,那么对于java中间件你都了解多少呢究竟什么是java中间件比较常用的java中间件都有哪些一起来了解一下吧。web开发的演进和进化,在面对消息系统、数据库、服务化接口的抽象等等涉及数据分离的过程当中,在分离过程当中,会涉及到分离之后,系统间、数据库间的交互。数据库本地维护了一个数据访问中间件,那么在对数据库进行访问的时候,配置的地址,其实是直接连接到JDBC这个数据访问中间件的。作为中间件,查询过程对于我们是不可知的。
2022-09-06 16:17:38
4677
原创 IDEA针对Application设置JVM参数不生效
今天在调试项目的一个方法的时候,将代码拷贝出来放在了一个独立的class中,调用其main方法。结果发现无法启动,并且一直停顿在启动过程中。于是我一直百度,“JVM参数不生效”这个问题,不断改动不断重启,依然没办法解决。于是很自以为是的断定,堆内存设置小了,于是导致频繁的FULLGC。修改完毕继续启动,可是,问题依旧出现!我一下子就懵了,为什么JVM参数不生效呢?原来是:项目启动,申请的内存空间太小,把这个值改大点就行,默认是700M。然后我改成4096M,JVM的配置也终于生效了…
2022-09-06 12:03:46
2257
原创 IDEA修改jvm内存
XX:ReservedCodeCacheSize=240m, 16G 内存的机器可尝试设置为。(设置最大内存数,提高该值,可以减少内存 Garage 收集的频率,提高程序性能)-Xmx750m, 16 G 内存的机器可尝试设置为 -Xmx4096m。-Xms128m, 16 G 内存的机器可尝试设置为 -Xms500m。(设置初始的内存数,增加该值可以提高 Java 程序的启动速度。在文件资源管理器中找到该文件并打开,再次修改参数,后重启。在菜单栏的Help中点击。找到该变量的值,复制。
2022-09-06 10:36:09
2520
原创 hive函数--多行数据转化成map类型
str_to_map函数也会去重,如果传入的键值对有重复,只保留一个。注意:collect_ws这个函数会对元素数组去重,如果不去重用collect_list这个函数。最近工作中向别的部门提供接口数据时有这样的需求。将下面的表格形式的数据的后两列输出为map形式。
2022-09-06 09:05:31
928
原创 docker desktop stopping 问题解决
搜了下网上一些解决问题好像比较多的是docker desktop stopped,他们是说换低版本的docker desktop解决的,但是我的是通过更新WSL(Windows Subsystem for Linux)核心后,重启机器后,即可恢复正常了,这里记录下,期望给需要的人有一些帮助。
2022-09-06 07:44:40
2528
1
原创 Handler dispatch failed; nested exception is java.lang.NoSuchMethodError
nested exception is java.lang.NoSuchMethodError:xxx包xxx方法。②在正在运行的程序上加方法,又没有完全生效,调度不到方法;可能肯定,一定是有该方法的,不然编译时就已经报错,所以问题大概率是出现在加载到JVM时,重点检查打jar。我是这样解决了这个问题的:重启——解决百分之九十八的问题。
2022-09-02 17:21:30
8158
原创 Hadoop3.x配置
首先了解一下有哪些即将配置的结点下面开发的时候进行的结点配置下面的内容的解释可以在官方文档中翻到最下面第二列是如果不配的话,默认给你赋的值,第三列是解释。
2022-09-02 16:00:00
689
原创 Failed to bind properties under server.address to java.net.InetAddress
第 12 行强转错误java.lang.String to java.net.InetAddress。server.address的值应该是网络地址:例如:127.0.0.1。
2022-09-02 14:34:31
1290
原创 Elasticsearch 批量导入数据
***是一款非常高效的全文检索引擎。****可以非常方便地进行数据的多维分析,所以大数据分析领域也经常会见到它的身影,生产环境中绝大部分新产生的数据可以通过应用直接导入,但是历史或初始数据可能会需要单独处理,这种情况下可能遇到需要导入大量数据的情况这里简单分享一下批量导入数据的操作方法与相关基础,还有可能会碰到的问题,详细内容可以参考****
2022-09-02 11:52:10
2348
原创 Dubbo调用和maven依赖
客户端A和服务器B在启动的时候都会把自己的机器IP注册到zookeeper上,客户端A会把zk上的服务端ip拉到磁盘上,并记录哪些ip提供哪些服务(服务端启动时暴露给zk),然后客户端根据ip调用服务端的服务。比如,模块A调用模块B,将模块B打包成jar,引入到模块A中(相当于模块A拥有了模块B),实则模块A和模块B是在同一项目中运行。包就可以了,只要服务一启动,就回去找实现类提供服务,我们在调用端调用的也是接口,而不是直接调用实现类。形式,我们在调用端调用的时候,只需要引入接口打包好的。
2022-09-02 10:28:03
946
原创 dubbo实现原理机制
例如,使用RMI协议,一般会受到防火墙的限制,所以对于外部与内部进行通信的场景,就不要使用RMI协议,而是基于HTTP协议或者Hessian协议。从上面的适用范围总结,dubbo适合小数据量大并发的服务调用,以及消费者机器远大于生产者机器数的情况,不适合传输大数据量的服务比如文件、视频等,除非请求量很低。dubbo-cluster 集群模块,将多个服务提供方伪装为一个提供方,包括:负载均衡、容错、路由等,集群的地址列表可以是静态配置的,也可以是由注册中心下发。Dubbo协议 Hessian协议。
2022-09-02 09:05:43
157
原创 Apache Shiro 身份认证绕过漏洞(CVE-2022-32532)漏洞复现
Apache Shiro 是一个强大且易用的 Java 安全框架,通过它可以执行身份验证、授权、密码和会话管理。使用 Shiro 的易用 API,您可以快速、轻松地保护任何应用程序 —— 从最小的移动应用程序到最大的 WEB 和企业应用程序。
2022-09-02 07:45:33
1146
原创 Dubbo admin 快速搭建
进入dubbo-admin-developdubbo-admin-ui 路径下 打开cmd 窗口然后 输入 npmrun dev。这个就是zookeeper 的地址,我们就按照自己安装服务的地址来配置就可以了(我是本地所以是127.0.0.1)这样我们的前端项目也就发布好了,有了前端项目我们就可以访问 dubbo-admin 项目。打完包以后呢 直接 java -jar ./dubbo-admin-server 程序。aubbo-admin 后端项目启动完毕以后 咱们启动前端项目。...
2022-09-01 16:34:59
397
原创 docker删除容器
2、基于该镜像启动一个名为my_container的容器,并在容器内部控制台输出Hello Docker。2)删除所有的容器(只删除单个时把后面的变量改为container id即可)1、从Docker Hub官方镜像仓库拉取busybox:latest的镜像;1)首先需要停止所有的容器。...
2022-09-01 14:08:36
9725
原创 controller使用map接收参数注意事项
/ 结论:如果使用map接收前端参数,那么一定要加@Requestbody才行。#关于前端使用map去接收参数的问题。
2022-09-01 11:38:57
2308
原创 configmap挂载文件权限修改
k8s中configmap挂载文件的权限默认是420。这是十进制表示,转换成八进制就是644,如果容器中使用非root用户,此时文件没有可执行权限,需要修改文件权限。如上所示,将名为test的configmap的权限设置成493,转换成八进制就是755。在volumes字段中修改defaultMode参数的值。修改权限的时候切记yaml中是十进制。...
2022-08-31 17:15:50
1524
原创 配置tomcat项目虚拟路径
就是使tomcat能访问到webapps文件夹外的web项目,当访问webapps目录下web项目时,重新指向web项目的实际位置。方法一:打开tomcat目录下的conf/server.xml,在中的Host便签中添加。这方法无需重启tomcat。
2022-08-31 10:39:37
2944
原创 java.lang.IllegalStateException Unable to load cache item
搜索了一下,网上的解释是因为使用了java的新特性,所以使用较高的版本进行编译时就会报这个错。一开始我以为是循环引用引起的错误,debug发现并不是。开启 debug日志 报。
2022-08-31 07:46:51
1947
原创 记一次 JVM CPU 使用率飙高问题的排查过程
分之前,CPU 的使用率明显飙高,最高飙到近 100%,为什么会出现这样的现象呢?如上图所示,使用该命令我们主要是为了查询启动参数,如初始化堆大小、垃圾回收器等配置。状态都不会消耗 CPU,但是线程频繁的挂起和唤醒却会消耗 CPU,而且代价高昂。分之后,CPU 的使用率降下来了,则是因为停止了压测。如上图所示,显示了服务器当前的资源占用情况,其中。特别地,在 mock 底层接口的时候,使用了类似。的 Java 进程每秒的 GC 情况,其中。表示 GC 状态的更新频率,单位为毫秒。的进程占用的资源最多。...
2022-08-30 17:39:12
323
原创 解决Hadoop启动时,没有启动datanode
其实,每次运行结束Hadoop后,都应该关闭Hadoop.下次想重新运行Hadoop,不用再格式化namenode,直接启动Hadoop即可#Hadoop。
2022-08-30 16:14:18
2119
原创 网络编程之close函数
close一个TCP套接字的默认行为是把该套接字标记成已关闭,然后立即返回到调用程序。然而TCP将尝试发送已排队等待发送到对端的任何数据,发送完毕后发生的是正常的TCP连接终止序列。并发服务器中父进程关闭已连接套接字只是导致相应描述符的引用计数值减 1。对于父进程和子进程共享已连接套接字的并发服务器来说,正式所期望的。如果父进程对每个accept返回的已连接套接字都不调用close,那么父进程最终将耗尽可用描述符,因为任何进程在任何时候可拥有的打开着的描述符通常是有限制的。...
2022-08-30 14:49:12
471
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人