![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java开发
L星火燎原
落花虽有月,流水却无情。
展开
-
为什么需要三次握手跟四次挥手
TCP/IP协议里面,有一个重要的知识点,就是三次握手跟四次挥手,那为什么需要这么做呢?且听分析。1、为什么需要三次握手目的:为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。主要防止资源的浪费。具体过程: 当客户端发出第一个连接请求报文段时并没有丢失,而是在某个网络节点出现了长时间的滞留,以至于延误了连接请求在某个时间之后才到达服务器。这应该是一个早已失效的报文段。但是服务器在收到此失效的连接请求报文段后,以为是客户端的一个新请求,于是就向客户端发出了确认报文段,同意建立原创 2022-02-07 10:24:35 · 716 阅读 · 0 评论 -
Java高级自我介绍
先放个大招,哈哈,相信很多朋友准备了很久技术方面的内功,但是在真正与HR交锋的时候,有时还是败下阵来,究其原因之一,竟然是第一招错了,我自己也是,,所以,周末花了点时间,准备了哈自我介绍,希望多多有兴趣的朋友多多交流!!! **自我介绍**~~面试官上午(下午、晚上)好:很荣幸有机会参加此次面试。我希望今天我能有好的表现,希望我这次可以面试成功。现在请允许我自我介绍一下。我今年XX岁,来自湖南怀化,XXXX年起就职于XX技术股份有限原创 2021-11-22 11:21:02 · 3135 阅读 · 0 评论 -
ArrayList与LinkedList不一样的观点
今天工作之余,突然想证明一下,网上一直流传的,LinkedList在删除与插入的效率要高于ArrayList,话不多说,直接上结果:惊不惊喜??意不意外???我是jdk1.8版本跑的,不晓得网上其他观点是怎么来的就不得而知,只是想表达,看到的不一定是真的,自己验证一把才靠谱。每天进步一点,年底奖金可能多一点。附原创代码:package cn.hsa.hgs.comm.utils;import java.util.ArrayList;import java.util.LinkedList;im原创 2021-11-22 10:42:19 · 611 阅读 · 0 评论 -
REDIS缓存穿透、缓存击穿、缓存雪崩
一、前言在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的,极其容易造成数据库系统瘫痪,最终导致服务宕机的严重生产问题。为了克服上述的问题,转载 2021-11-17 16:08:47 · 82 阅读 · 0 评论 -
字符串反转实现方式
刷题时碰到一个字符串反转的题目,觉得有点意思,故把解题方式记录下来哈//demo1 public static void main(String[] args) { String str = "1,3,5,7,9,11"; char[] chars = str.toCharArray(); int n = chars.length-1; for (int i = 0; i < n/2; i++) { cha原创 2021-08-17 15:07:23 · 108 阅读 · 0 评论 -
MySQL索引查询使用细节个人总结
MySQL 数据库可以称得上是目前运行速度最快的 SQL 语言数据库之一。除了具有许多其他数据库所不具备的功能外,MySQL 数据库还是一种完全免费的产品,用户可以直接通过网络下载 MySQL 数据库,而不必支付任何费用。(摘自百度百科)但是,如果平时开发细节不留意,就会产生意想不到的恶性结果,例如索引的使用,以下是自己总结的一点经验,还希望能帮到需要的网友;![索引使用细节,避免采坑,避免挨叼!!!](https://img-blog.csdnimg.cn/20a8c6c6b0b2428dab9257原创 2021-08-09 16:39:26 · 273 阅读 · 0 评论 -
Redis的分布式锁的研究实现
在许多环境中,不同的进程必须以互斥的方式使用共享资源进行操作时,分布式锁是非常有用的原语。有许多库和博客文章描述了如何使用Redis实现DLM(分布式锁管理器),但是每个库都使用不同的方法,与使用稍微复杂一些的方法相比,许多库使用的方法具有较低的保证。设计。该页面试图提供一种更规范的算法来实现Redis的分布式锁。我们提出了一种称为Redlock的算法,该算法实现了DLM,我们认为它比普通的单实例方法更安全。我们希望社区能够对其进行分析,提供反馈,并将其用作实现或更复杂或替代设计的起点。实作原创 2021-03-08 14:25:38 · 128 阅读 · 0 评论 -
IDEA2020以后版本控制台乱码问题处理
最近整理运维项目,用tomcat运行,发现控制台竟然乱码,网上百度了许多,竟然都不起作用,推敲摸索后得出结论,IDEA2020后的版本,乱码方式处理套路要调整一下咯,记录如下:NO1NO2而是处理这里:在文件中追加-Dfile.encoding=UTF-8NO3NO4NO5(视情况而定,如果以上四步处理完后启动验证后没问题,则忽略这里即可)至此完美解决,结果如下:...原创 2021-03-02 15:13:34 · 3756 阅读 · 2 评论 -
电商项目(SpringBoot+MyBatis)
本文仅针对于正在学习SpringBoot的同学以及想通过一个实战项目让自己得到提升,进而在面试的时候有的放矢,直接一点,让自己在薪水的谈判上获得多一点主动权。该电商项目主要模块如下:前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理...原创 2019-09-26 15:46:06 · 1219 阅读 · 0 评论 -
Mybatis缓存
WEB项目,昨天无意间发现,前台多次点击查询按钮,控制台竟然没有sql日志,由于项目采用的框架包含有MyBatis,故第一反应该是缓存问题导致。缓存用于减轻数据压力,提高数据库性能,mybaits提供一级缓存和二级缓存。1.一级缓存:SqlSession级别的缓存,默认开启。在操作数据库时需要构造sqlSession对象,在对象中有一个key为hashCode+sqlId+sql,value...原创 2019-08-29 08:46:39 · 76 阅读 · 0 评论 -
Java中获取本地网卡地址
public static String getDBIp() { try { Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces(); InetAddress ip = null; while (allNet...原创 2019-07-18 20:00:42 · 847 阅读 · 0 评论 -
看懂Oracle执行计划
一:什么是Oracle执行计划?执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述二:怎样查看Oracle执行计划?因为我一直用的PLSQL远程连接的公司数据库,所以这里以PLSQL为例:①:配置执行计划需要显示的项:工具 —> 首选项 —> 窗口类型 —> 计划窗口 —> 根据需要配置要显示在执行计划中的列执行计划配置执行计划的...转载 2019-04-29 15:16:37 · 408 阅读 · 0 评论 -
为什么开发人员必须要了解数据库锁?
原文链接1.锁?1.1何为锁锁在现实中的意义为:封闭的器物,以钥匙或暗码开启。在计算机中的锁一般用来管理对共享资源的并发访问,比如我们java同学熟悉的Lock,synchronized等都是我们常见的锁。当然在我们的数据库中也有锁用来控制资源的并发访问,这也是数据库和文件系统的区别之一。1.2为什么要懂数据库锁?通常来说对于一般的开发人员,在使用数据库的时候一般懂点DQL(s...转载 2019-03-20 16:09:02 · 366 阅读 · 0 评论 -
浅谈Java BigDecimal
float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。look 下面的例子: System.out.println(0.11+0.21); Sy...原创 2018-11-14 15:44:17 · 139 阅读 · 0 评论 -
Java并发编程:可重入锁
版权声明:本文为张仕宗原创文章,允许转载,转载时请务必标明文章原始出处 。 https://blog.csdn.net/zhang5476499/article/details/83794711 关于线程安全的例子,我前面的文章Java并发编程:线程安全和Threa...转载 2018-11-14 17:04:58 · 106 阅读 · 0 评论 -
金额大写util
有时候,我们需要对金额进行大写转换,这里,提供一个帮助类,供参考。package com.powersi.biz.medicare.comm.utils;import org.apache.commons.lang3.StringUtils;public abstract class MoneyUtil { /** 大写数字 */ private static final String[...原创 2018-11-20 15:28:00 · 215 阅读 · 0 评论 -
Tomcat 内存溢出解决方式
在项目部署过程中经常会出现tomcat内存溢出的问题,一下是本人遇到的几种情况:注意:linux 与windows 修改的方式不同,具体设置大小根据现场情况。 linux下编辑tomcat的catalina.sh文件,在第一行的后面增加一句,或者在 echo Using CATALINA_BASE: “%CATALINA_BASE%” 前面加一句JAVA_OPTS=’-server -Xm...原创 2018-11-15 10:37:08 · 638 阅读 · 0 评论 -
java中equals的另类用法以及Objects中其他方法介绍
equals方法对于java程序员来说应该是常用的方法,它通常用来对字符串类型的比较,通常,我们的写法是这样://案例1Map<String,Object> map1 = new HashMap<>();Map<String,Object> map2 = new HashMap<>();map1.put("a","1");map2.put...原创 2018-11-23 11:28:10 · 230 阅读 · 0 评论 -
eclipse调优个人小结
关于eclipse性能调优的解决方法,网上一搜一大把,有些用了没啥luan用,可能因电脑而异吧,我个人电脑战神Z7M-KP741,8G内存,258固态硬盘,按理说跑个eclipse当没啥问题,可是,我试算了,加载个7个项目,我这里主要是两个地方卡:1 debug状态下启动,在代码中打个断点,卡了几分钟才反应过来,然后如果取消这个断点,点击之后也是如此,怄气啊。2 tomcat启动6个项目,竟然...原创 2018-11-29 15:33:54 · 175 阅读 · 0 评论 -
Java重载经典面试题
public class StaticDispatch { static abstract class Human{ } static class Man extends Human{ } static class Woman extends Human{ } public void sayHello(Human guy) { System.out.printl...原创 2019-01-16 09:09:28 · 790 阅读 · 2 评论 -
《深入理解java虚拟机》 精华总结
一、运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由 线程共享的数据区,其他几个是线程隔离的数据区1.1 程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基础功能都...转载 2019-01-16 09:50:36 · 196 阅读 · 0 评论 -
Oracle重置序列(不删除重建方式)
Oracle 中的序列我们一般用来生成流水号,所以需要进行重置(如每天凌晨重置一次),我们虽然可以通过重新编译的方式重置序列,可是这种方法会有弊端,比如导致与该序列相关的存储过程或函数失效等等,需要重新编译;于是就需要一种不编译也可以重置序列的方法—— 这种方式,不用删除,利用步长参数,先查出sequence的nextval,记住,把递增改为负的这个值(反过来走),然后再改回来。 假设...转载 2019-01-28 16:33:02 · 589 阅读 · 1 评论 -
为什么我们做分布式使用Redis
原文地址绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对 Redis 常见问题做一个总结,解决大家的知识盲点。1、为什么使用 Redis在项目中使用 Redis,主要考虑两个角度:性能和并发。如果只是为了分布式锁这些其他功能,还有其他中间件 Zookpeer 等代替,并非一...转载 2019-02-18 14:56:34 · 195 阅读 · 0 评论 -
微服务架构下静态数据通用缓存机制
在分布式系统中,特别是最近很火的微服务架构下,有没有或者能不能总结出一个业务静态数据的通用缓存处理机制或方案,这篇文章将结合一些实际的研发经验,尝试理清其中存在的关键问题以及探寻通用的解决之道。什么是静态数据这里静态数据是指不经常发生变化或者变化频率比较低的数据,比如车型库、用户基本信息、车辆基本信息等,车型库这种可能每个月会更新一次,用户和车辆基本信息的变化来源于用户注册、修改,这个操作...转载 2019-02-27 11:12:47 · 155 阅读 · 0 评论 -
Mybatis解析入参报含有undefined错误
今天是咱第一次发表博客,写点啥呢?想了许久,博客不就是记录平时工作学习生活中所遇所想所做的事情么?好吧,我就记录一下今天修复的一个有点意思的缺陷吧。本人是从事java开发的,今天领导分了一个运维任务,就是前天web端(jsp页面)向后台sevlet发送一个查询请求时,当所传参数到达MyBatis后解析就抛出了undefined错误,先检查了MyBaits的sql语句,并未发现语法异常,故把重点放...原创 2018-11-13 17:06:56 · 1591 阅读 · 1 评论