好奇心害死Java人
文章平均质量分 83
Java实战技术开发记录
_陈哈哈
幽默爱笑的程序员,非科班出身,来自山东小城枣庄,北漂五年,离梦想依旧很远。维护《MySQL江湖路》公众号,曾任央视知名栏目《百家讲坛》热心观众。我有故事,你有酒么
展开
-
聊聊统一认证中的四种安全认证协议(干货分享)
面试必备,从统一认证中的认证&授权、SSO单点登录、四种安全认证协议、四种认证协议比较几个方面展开聊聊,希望对你有所收货。原创 2023-10-31 07:00:00 · 4865 阅读 · 5 评论 -
SQL(及存储过程)跑得太慢怎么办?
SQL作为目前最常用的数据处理语言,广泛应用于查询、跑批等场景。当数据量较大时,使用SQL(以及存储过程)经常会发生跑得很慢的情况,这就要去优化SQL。优化SQL有一些特定的套路,通常先要查看执行计划来定位SQL慢的原因,然后针对性改写来优化SQL,比如对于连续数值判断可以用between来替代in,select语句指明字段名称,用union all替代union,把exists改写成join等。当然还有一些工程上的优化手段,如建立索引,使用临时表/汇总表等,优化的方法有很多,相信各位DBA都不会陌生。原创 2022-12-12 07:30:00 · 5222 阅读 · 22 评论 -
双维有序结构提速大数据量用户行为分析
用户分析(或帐户分析),是指对用户、帐户明细数据进行统计分析计算。常见的有:用户行为分析、银行帐户统计、漏斗转化率、保险单分析等等。原创 2022-11-15 07:00:00 · 5804 阅读 · 13 评论 -
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
基于JVM的开源数据处理语言主要有Kotlin、Scala、SPL,下面对三者进行多方面的横向比较,从中找出开发效率最高的数据处理语言。原创 2022-10-24 07:00:00 · 9096 阅读 · 13 评论 -
如何理解CPU密集型 和 I/O密集型
CPU密集型与I/O密集型是在计算机上执行任务的两种策略,在并发执行任务场景下,我们需要选择使用多线程或多进程;原创 2022-04-01 18:32:23 · 4414 阅读 · 7 评论 -
摸个鱼的功夫,搞懂双亲委派机制
五分钟,搞懂双亲委派机制。八股文扛把子,岂能不会!原创 2022-03-15 07:00:00 · 5086 阅读 · 10 评论 -
女同事问我JDK8以后有哪些新特性?给我整不会了
整理了JDK9 - JDK16有用的新特性,让你在欢声笑语中掌握它!原创 2021-12-15 12:19:30 · 14488 阅读 · 52 评论 -
朋友闲来无聊面试北京一家独角兽公司面试题,标价25k
经过一下午的鏖战,也是终于听到了那句我们最熟悉的话:“好,那你先回去等消息吧!原创 2021-10-24 21:01:58 · 12366 阅读 · 21 评论 -
Linux安装JDK并配置环境变量 - 详细步骤
LInux安装JDK最详细记录,快来收藏一波,同事需要时,甩他脸上原创 2020-12-26 22:02:27 · 19846 阅读 · 29 评论 -
JAVA高频216道面试题+答案!!面试必备
最全的一篇JAVA语言面试题+答案了(216道)!!我花了一通宵整理出来。这篇文章对新手和工作经验较少的兄弟们来说,真的是“面试宝典”。请珍惜!原创 2020-11-06 13:37:22 · 412490 阅读 · 59 评论 -
java.net.UnknownHostException 解决方法
今天有位小伙伴来求助,说他们公司用的单点登录,接口URL在公司的公网域名下,如(https://www.csdn.net/xxx/login),他打包好的Web项目在自己机子上跑没问题,一部署到服务器就报 java.net.UnknownHostException 错误,从字面上看是请求目标的服务连不上,网络不通。这到底是怎么回事?又该怎么解决呢?mark一下一般原因:1.服务器没网,调不到公网域名,无法解析出IP,从而无法识别host,导致无法连接;2.网络端口映射做了策略,调用不到自己路由的原创 2020-09-23 16:24:00 · 207775 阅读 · 14 评论 -
搞懂这些SQL优化技巧,面试横着走
无论从大厂还是到小公司,一直未变的一个重点就是对SQL优化经验的考察。一提到数据库,先“说一说你对SQL优化的见解吧?”。SQL优化已经成为衡量程序猿优秀与否的硬性指标,甚至在各大厂招聘岗位职能上都有明码标注,如果是你,在这个问题上能吊打面试官还是会被吊打呢?目录SELECT语句 - 语法顺序:SELECT语句 - 执行顺序:SQL优化策略一、避免不走索原创 2020-08-13 12:10:58 · 17333 阅读 · 26 评论 -
高效拼接字符串,你会用 “+” 还是StringBuilder.append?
关于String、StringBuilder、StringBuffer这三个类在字符串处理中的地位不言而喻,我们用的最多的就是String 的“+”号操作符(最普遍)以及StringBuilder、StringBuffer的append()方法。 那么他们到底有什么优缺点,到底什么时候该用谁?如何才能保证字符串拼接的高效率呢?下面我们一起来了解一下。原创 2020-06-27 16:24:21 · 13609 阅读 · 20 评论 -
Springboot处理CORS跨域请求的三种方法
前言Springboot跨域问题,是当前主流web开发人员都绕不开的难题。但我们首先要明确以下几点跨域只存在于浏览器端,不存在于安卓/ios/Node.js/python/ java等其它环境 跨域请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。 之所以会跨域,是因为受到了同源策略的限制,同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。浏览器出于安全的考虑,使用 XMLHttpRequest对象发起 HTTP请求时必须遵守同源策略,否则就是跨域的.原创 2020-06-08 11:23:52 · 66890 阅读 · 48 评论 -
replaceAll()如何同时替换多个不同的字符串(或多个符号)
前戏今天同事小姐姐找我求助这么一个问题;Java中的replaceAll()方法怎么才能同时替换多个不同的字符串呢?正好我遇到过这个情况,就跟她分享了一下心得,解决问题后的她开心的像刚充完气儿一样。这让我颇感欣慰,在这里我也分享给大家。需求场景场景1:String str1 = "广东省,福建省,北京市,海淀区,河北省,上海市,....";需要把“省”、“市”、“区”一起去掉;变成:广东,福建,北京,海淀,河北,上海....场景2:String str2.原创 2020-05-09 15:54:36 · 48845 阅读 · 35 评论 -
听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺
我有一个老朋友,我们叫他熊猫。发际线及将触碰到后脑勺,大框金丝眼镜也掩盖不住那黝黑的眼圈,显得格外的“程序员”;穿着也非常“不拘一格”,上半身是衬衣西服,下半身是牛仔裤配拖鞋。我和熊猫的感情很好,毕业后他去了上海而我开始北漂,但每次过节回老家我俩都会和朋友们一起吃饭,这次回家过年也不例外,我们朋友几个去了枣庄出名的小板凳酱骨头,饭后他给我们聊了聊4年前来这家公司的面试经历,据说跟面试官有着...原创 2020-04-19 19:22:55 · 26691 阅读 · 97 评论 -
https请求报错block:mixed-content问题的解决办法(已解决)
问题截图问题分析今天,多个接口突然出现block:mixed-content 错误,于是排查了一下发现:错误:https页面去发送http请求报错(浏览器阻止https发送http请求)原来是由于项目改成了https协议的缘故,出现了请求被拦截;其实是浏览器不允许在https页面里嵌入http的请求,现在高版本的浏览器为了用户体验,都不会弹窗报错,只会在控制台...原创 2020-04-16 10:20:40 · 65845 阅读 · 25 评论 -
javaCV视频取帧测试类,封装完整可直接使用,真香!!
作者 | 陈哈哈来源 | java开发前段时间我需要一个视频取帧工具,在网上查询一些单都或多或少有问题,于是自己总结了一下,并已经封装好,分享出来供大家需要时使用。GitHub路径:https://github.com/chenhua0915/FetchVideoFrameUtil.git运行结果截图pom文件中的Maven配置:这里需要的jar...原创 2020-04-02 21:06:06 · 5223 阅读 · 31 评论 -
@RequestMapping属性详解 - SpringMVC高手进阶
目录前言RequestMapping接口源码解析RequestMapping属性介绍1、name2、value3、path4、method5、params6、headers7、consumes8、produces前言在日常java面试中springMVC已经是必不可少的一环了,昨天与几位朋友交流了一下面试SpringMVC框架时的心得。我们发现大部分面试者仅了解SpringMVC的执行流程...原创 2020-03-30 20:28:13 · 6715 阅读 · 27 评论 -
带你了解Java的序列化(Serializable)与反序列化
这篇可帮助你大体了解Java中的序列化(Serializable)。包括为什么需要它,如何工作,何时使用它,相关概念(serialVersionUID和transient)以及有关序列化和反序列化的其他必要信息。本教程中的序列化示例保持简单,以帮助你理解要点。目录1.为什么要进行Java序列化2.Java中的序列化如何工作2-1.什么是serialVersionUID常数2-2.什么是瞬时变...原创 2020-03-25 21:30:42 · 2890 阅读 · 20 评论 -
Could not initialize class java.awt.Font(已解决异常)
异常出现场景:javaweb项目中有word、execl等文件生成或文件导出时;由于生成文件中存在图像、统计图等元素。在windows上可行,换到linux执行报错。错误内容翻译:异常分析:jvm无法初始化该类,由于本linux没有安装图形化界面;在web server(tomcat、nginx)中配置一下即可;此处说一下tomcat,因为我实际操作的web serv...原创 2020-03-17 10:02:43 · 5709 阅读 · 9 评论 -
已解决:Eclipse创建Maven项目报“Could not resolve archetype org.apache.maven.archetypes:maven-archetype-web”错误
错误提示:问题分析及解决步骤:1、检查eclipse里面配置是否正确;2、如果以上配置没有问题,那就去找到maven安装路径的D:\apache-maven-3.6.3\conf\settings.xml文件,在xml文件找到“mirrors”节点:3、在这个节点内,新增配置:<mirror> <id>aliyun</id&g...原创 2020-03-03 10:46:54 · 3925 阅读 · 9 评论 -
Java垃圾回收的工作原理和最佳做法
在本文中,我们将研究Java垃圾回收,它的工作方式以及重要性。Java垃圾回收的定义Java垃圾回收是Java程序执行自动内存管理的过程。Java程序编译为字节码,可以在Java虚拟机(简称JVM)上运行。当Java程序在JVM上运行时,将在堆上创建对象,这是专用于该程序的内存的一部分。最终,将不再需要某些对象。垃圾收集器找到这些未使用的对象并将其删除以释放内存。Java垃圾回收如...原创 2020-02-23 12:05:05 · 3430 阅读 · 18 评论 -
Java性能优化技巧:如何避免常见的陷阱
在本文中,我将带你了解一些Java性能优化技巧。通过专门研究Java程序中的某些操作。这些技巧仅真正适用于特定的高性能方案,因此,由于速度差异很小,因此无需使用这种方法编写所有代码。但是,在热代码路径中,它们可能会产生很大的不同。目录:使用探查器 退后一步思考问题的解决方法 Streams API与可信赖的for循环 日期传输和操作 字符串运算1.使...原创 2020-02-22 23:09:14 · 1293 阅读 · 14 评论 -
Java中方法重载和覆盖之间的区别
在本文中,我们将讨论Java重载和覆盖之间的区别。如果您不熟悉这些术语,请参考以下文章:Java中的方法重载 Java中的方法重写Java中的重载与重载重载在编译时发生,而重载在运行时发生:重载方法调用与其定义的绑定已在编译时发生,但是重载方法调用对其定义的绑定在运行时发生。 静态方法可以重载,这意味着一个类可以具有多个同名的静态方法。静态方法不能被覆盖,即使您在子类中声明了相同的静...原创 2020-02-22 22:12:55 · 1774 阅读 · 13 评论 -
详解:Java的重写方法与示例
在父类中已经存在的子类中声明一个方法称为方法重写。进行了覆盖,以便子类可以将其自己的实现提供给父类已经提供的方法。在这种情况下,父类中的方法称为覆盖方法,子类中的方法称为覆盖方法。在本指南中,我们将了解Java中什么是方法重写以及为什么使用它。方法覆盖示例让我们举一个简单的例子来理解这一点。我们有两个班级:一个孩子班,一个男孩班,一个父母班,人类班。在Boy类扩展Human类。这两个类都有...原创 2020-02-22 22:04:10 · 5308 阅读 · 23 评论 -
详解:Java的重载方法与示例
方法重载是一项功能,如果一个类的参数列表不同,则它允许一个类拥有多个具有相同名称的方法。它类似于Java中的构造函数重载,它允许一个类具有多个具有不同参数列表的构造函数。让我们回到重点,当我说参数列表时,它表示方法具有的参数:例如,具有两个参数的方法add(int a,int b)的参数列表与方法add的参数列表不同(int a,int b,int c)具有三个参数。重载方法的三种方...原创 2020-02-22 21:43:15 · 19395 阅读 · 15 评论 -
Java性能优化技巧:如何避免常见的陷阱
在本文中,我将带你了解一些Java性能优化技巧。通过专门研究Java程序中的某些操作。这些技巧仅真正适用于特定的高性能方案,因此,由于速度差异很小,因此无需使用这种方法编写所有代码。但是,在热代码路径中,它们可能会产生很大的不同。目录:使用探查器 退后一步思考问题的解决方法 Streams API与可信赖的for循环 日期传输和操作 字符串运算1.使用探...原创 2020-02-21 21:52:24 · 1195 阅读 · 22 评论 -
log4j如何直接通过log4j.properties自定义日志文件及动态生成路径
你是否还在因log日志在哪生成而烦恼?是否还在因不同OS路径不同而惆怅?其实log4j早已封装好针对不同OS的使用方式,只需会配置log4j.properties都可解决。如下图:log4j.appender.D.File:后面跟的就是生成路径位置,其实它会让OS系统自动去匹配,可以填的方式有多种:1.绝对路径:如 /usr/local/logs/debug.log #默认...原创 2020-02-14 10:39:53 · 2299 阅读 · 12 评论 -
(最简单)Java 格式化数字每3位加逗号分隔(自己封装好的工具类,直接可用)
滴滴滴,快上车,都在备注里了~~~package com.softsec.util;/** * Created with IDEA * * @Author Chenhh * @Date 2019/12/11 10:47 * @Description 格式化工具类 * @Version 1.0 */public class ChhUtil { /** * 将每三个数...原创 2019-12-11 10:50:08 · 4848 阅读 · 19 评论 -
mybatis的Mapper文件中的大于小于号,为什么要转成“< ;”、“> ;”,转义后的lt、gt又代表什么?
为什么的Mapper文件中的"<"、">" 要转成“< ;”、“> ;”问题分析mybatis中的mapper文件是xml文件,不允许出现类似“>”这样的字符,会与文件本身的标签"<xxx>"冲突,就像mysql中有些关键字(如:select、insert等)不允许当做字段名,会引起冲突;处理方式1.用转义字符把>和&...原创 2019-12-02 19:19:45 · 34577 阅读 · 23 评论 -
分享一个搭建好的标准版SSM框架的maven项目,用户模块已完成(附下载链接)
修改配置即可直接使用,需要的兄弟们可以自行下载;下载地址:https://pan.baidu.com/s/1ioNG0jmAUYuqckOY1nDfcQ提取密码:l1qq简单介绍一下配置:这是项目根目录,配置文件在config下,sql表是一个简单的用户表,请事先导入;用eclipse或idea导入后请将config文件附上引用权限即可;这是配置文件目录:...原创 2019-11-22 18:59:13 · 1203 阅读 · 11 评论 -
当JSONObject中的value=null时,key竟然会消失?
我们每天都在用JSON,但JSON中的一些坑你们都知道吗?比如,JSON的value值为null时,key会直接没了?value为Date类型时,JSON.toJSONString打印出来的是时间戳,取出来的却是Date?等。废话不多说,直接上代码 public static void main(String[] args) { demoJSON(); // demo...原创 2019-11-17 14:41:13 · 4527 阅读 · 21 评论 -
Map复制给新Map时,用 “=、clone、还是putAll”?论Map的深复制和浅复制
目录使用场景尝试过的办法“=”赋值使用.putAll()方法使用.clone()方法测试用例测试用例源码使用场景在我们最初使用map复制开发业务代码时,通常会踩到深浅复制(拷贝)这个坑里,比如我,在Map复制时(如:Map<String, String> new_Map = old_Map) 出现过以下两类问题:1.使用Map<String, String> new...原创 2019-10-24 13:16:44 · 12689 阅读 · 19 评论 -
Elasticsearch7.3在java中的简单连接
上周我们新项目的开发使用的检索引擎确定为Elasticsearch7.3.1,伴随着好奇心我赶快查查这个版本ES的入坑率。开心,ES7.3.1版本的发布周期还不到10天,设计人员简直是神仙!心中一顿happy乱喷后,赶快上网搜索了一番ES7.3的java开发说明。由于之前用过ES1和ES5版本,知道小版本之间的API应该是通用的,会不会大版本间也能通用呢?很显然,如果通用我就不写这...原创 2019-09-01 17:23:52 · 8691 阅读 · 20 评论 -
访问tomcat项目如何最简化(装X)如直接:http://127.0.0.1
方案一(推荐):一般项目的编译项目都在Tomcat的webapps下,项目的访问路径一般为:http://localhost:8080/项目虚拟路径。但是Tomcat的默认访问页面http://localhost:8080访问到的是Tomcat带猫的的那个页面,要想直接输入本地地址http://localhost:8080就可以得到项目的默认访问页,进行以下配置:在Tomcat安装后,to...原创 2019-07-23 19:42:27 · 2386 阅读 · 12 评论 -
@有心人;你要的Java面试题在这(附答案)
序言在本篇文章开始之前,我想先来回答一个问题:我为什么要写这样一篇关于面试的文章?原因有三个:第一,我想为每一个为梦想时刻准备着的“有心人”,尽一份自己的力量,提供一份高度精华的 Java 面试清单;第二,目前市面上的面试题不是答案不准确就是内容覆盖面太窄,所以提供一份经典而又准确的面试题是非常有必要的;第三,本文会对部分面试题提供详细解读和代码案例,让读者知其然并知其所以然,从而学到更多的知...原创 2019-07-10 09:26:44 · 5900 阅读 · 31 评论 -
Spring项目 使用quartz定时执行任务
1.导入jar包我使用的jar包版本是quartz-all-1.8.5。jar包下载地址参考:https://www.cr173.com/soft/65793.html2.配置application-context文件<!--执行任务类---><bean id="aaa" class="com.xxx.timing.test.timing"></bea...原创 2019-06-16 11:14:06 · 1175 阅读 · 10 评论 -
java使用dom4j解析xml(通用)
xml样例如下<Result> <A>a</A> <Test> <B>b</B> <Test1> <C>c</C> ...原创 2019-06-15 20:06:25 · 2660 阅读 · 0 评论 -
已解决:jdk版本冲突,nested exception is java.lang.UnsupportedClassVersionError:JVMCFRE003
日志报错日志报错:nested exception is java.lang.UnsupportedClassVersionError:JVMCFRE003 主版本错误:类=com/***/***/***/,偏移量=6(unable to load class com.***.***.***)分析问题我在项目中导入了一个新的jar包,程序调用这个jar包的时候,报了这样的一个错误“ne...原创 2019-06-15 13:24:18 · 8537 阅读 · 1 评论