自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (1)
  • 收藏
  • 关注

原创 CountDownLatch快速上手指南

CountDownLatch快速上手指南

2022-01-24 23:40:40 260

原创 35岁防优化指南

着今日起,开始反思个人能力上存在哪些不足、有点. 主要从技能硬实力、业务软实力、沟通协作等软实力 考虑分析,认清个人定位,能力. 谋求更长远的发展

2022-01-03 16:12:45 258

原创 Java 入行5年了

CSDN将近2年没有更新了,平时忙于公司版本项目的交付. 说来惭愧,目前所接触到的技术栈只能应付日常开发,更深一层的源码 原理相关的东西也没啥了解. 最近迷上了玩手机,刷抖音.回到家放下书包 看下工作群没有啥问题 躺下 摆好姿势 打开抖音、一刷就是好几个小时.28年的人生 在这个时候 只能做这个事情,真的还失败. 跟最近新进来的同学相比,明知道自己菜 但是就是懒得学. 感觉自己平时应付开发都马马虎虎,要么就是自己时间管理上有问题,怎么感觉时间总不够用. 可能自己真的该提升了! 平时用到的技术 不去深入

2021-07-22 22:43:39 158 1

原创 Apollo配置中心学习

什么是Apollo?何为Apollo?我的理解就是一款项目参数配置工具,可以用来配置不同应用不同环境的参数配置,同时可以实现在线配置更新而无需重启服务的工具.同时拥有自己的配置中心页面,包含参数配置与配置发布权限管理.是携程开发的一款分布式开发工具.为什么用Apollo?为什么说到Apollo,一方面是入职新公司采用这一技术栈,另一方面是以前参与的项目是采用配置文件放在固定目录,不同环境修改...

2020-03-26 18:16:21 296 2

原创 ElasticSearch简单搭建使用

开球选题 作为一名初来乍到的小白,当我听到让我开球,一开始我是拒绝的.如果用一张表情包形容我的心情 平时都是大佬开球,现在轮到我开球,一开始我是陷入蒙蔽模式.还好我平时饱受大佬熏陶,大佬的话我都是记下来的.回顾这段时间接触的知识点,发现所学如下,知道怎么用.但难有深度.与其班门弄斧,不如整点有意思的内容restful设接口风格–》mock接口文档/区分接口动作java8 la...

2020-03-20 16:01:25 414

原创 8.9近期开发遇到的问题记录

1.字符串替换

2019-08-09 11:50:45 354

原创 多线程并发竞争共享资源时的技术解决方案

最近开始接口商品下单支付,水电煤缴费等可能存多线程竞争统一资源导致数据溢出的问题,如商品库存剩余为100,同时由100个线程在竞争这个资源,那么如何保证只有第一个线程抢到资源,而其他的线程无法购买。以往的管理系统方面有碰到这块但一般由于不涉及支付等金额购买的情况,同时也没有这么高并发,所以没有在意。但现在移动互联网 特别是这种商品购买,订单支付等必须要保证多线程下共享资源如库存,客户余额修改不会出...

2019-08-01 14:46:16 703

原创 Synchronzied同步代码块与同步函数的学习

java学习的时候关于多线程修改共享变量的时候容易出现问题,典型的问题就是抢车票问题或者是电站商品库存信息问题,

2019-07-15 14:15:59 216 2

原创 Java中常用的加密算法

进入公司有将近2年了,对于各种外部API接口的调试开发也有了些经验.经常会碰到签名和加密的问题.这里结合别人的博客将将加密算法简单的介绍下.原文链接签名签名的意义在于对这段数据进行认证,防止数据在网络传输过程中被修改出现问题.一般来讲安全性比较高的如支付场景数据 都是经过加密传输到后台的.比如项目中涉及到微信小程序支付的情况,请求参数一般是先生成签名,然后再加密数据.传到微信后台.如果不对数...

2019-07-07 18:14:30 395

原创 防止订单重复提交的2种技术解决方案

最近项目里碰到关于水电煤缴费 出现了账户余额剩余100元,但同一时间可以成功支付4笔100元订单的问题.出现这种问题的原因主要在于短时间内前端按钮操作抖动多次请求的情况.同时后端在判断账户余额然后下单的过程中出现了多线程并发的问题。解决这种问题的方法一般是从解决订单重复提交+防止高并发情况下账户余额为负数的情况解决方案。(类似于商品库存超卖的解决方案)一般完整的订单支付流程是这样的1.后端生成...

2019-06-27 02:34:54 15568 6

原创 Redis面试考点学习

首先感觉网友的参考资料:原文地址,这文章看了好多遍了,一直比较懒得整理一下自己的理解感受,今天有机会 整下呗。redis常用考点1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4、redis的数据类型,以及每种数据类型的使用场景5、redis的过期策略以及内存淘汰机制6、redis和数据库双写一致性问题7、如何应对缓存穿透和缓存雪崩问题8、如...

2019-06-17 01:18:20 236

原创 缓存与数据库双写一致性问题

之前在脉脉上看到有关这个问题的描述,大体看了下。这两天放假有空 特地看下关于关于这个问题的解决方案。要解决这个问题 首先要知道一个模式就是cache aside pattern,这是外国大佬提出的一个概念。Cache Aside Pattern1.读操作.判断缓存是否存在,不存在读取数据库中的信息并更新缓存。存在的话读取缓存中的信息2.写操作.更新数据库,删除缓存。扯到这个问题,会出现...

2019-06-09 14:43:21 2518

原创 个人笔记本拆解全过程记录

把笔记本后面的几个螺丝拧下来打开笔记本后边,把电池扣下来,电池槽位旁边有个螺丝固定前面的 拧下来打开硬盘内存条 无线网卡的盖子,然后把固定机械键盘的 3个螺丝拧下来(1个螺丝是用来固定键盘盖板的)把键盘上的 螺丝拧下来然后把笔记本前面的盖板拿下来,注意触摸板PCB连接及键盘PCB连接6.然后想怎么弄 就怎么弄吧,就是之前拆装的时候螺丝总是莫名其妙的少了几...

2019-06-06 01:01:40 1189

原创 接口测试工具Postman/Jemter基本使用方法

前言今天在跟开发哥们聊天的时候,有谈到关于测试工具的使用。目前经常使用的postman工具,在接口开发完成之后,我这边自己先用postman工具测一遍,保证接口的可用.之前有用过postman工具的压力测试,后面发现只是串行测试(一个接口执行完毕,下一次测试才开始,最多只能测下接口的可靠性,但是并不能测试在多线程的情况下 数据是是否有问题).后来哥们讲出个Jemeter工具及Gatling脚本测...

2019-06-04 00:33:40 760

原创 Java从入门到精通 第十七章 泛型

前面提到面向对象中存在多态这一特性,在向上造型的时候不会出现类型转换的错误,但是由于向下造型的时候 却可能出现类型转换的错误,毕竟不是所有的父类类型实例都是子类类型实例.所以为了避免程序员在创建更通用的方法时 将Object作为参数传入方法时取出来的时候出现问题,特别弄了个泛型。泛型本质上就是创建泛型类的时候 传入了什么类型 取出来的时候就是什么类型,如果与传入的类型不一致就会出现编译错误的问题。...

2019-06-02 17:51:57 156

原创 java从入门到精通 十八章 多线程

多线程这个概念在经过一段时间的开发后,考虑接口等问题的时候很容易考虑到。比如做电商系统中库存抢购,车票购买的时候如何控制等问题,根本原因就在于一个多线程安全问题,本章提出的解决方法时通过同步代码快的方式,将多线程异步问题 改为多线程同步,这样无论下单的是谁,都是经过一笔一笔单子来处理,这样就不会出现多线程等问题.当然也可以通过消息队列等方式来控制,下单的时候都需要排队,或者通过其他方式实现多线程并...

2019-05-26 16:51:33 412

原创 Java从入门到精通 十六章 反射 Annotation

反射因为是框架实现的核心东西,所以要重点学习下,上一篇文章提到反射,无非就是可以对加载到jvm中的对象实例,通过反射访问器类的成员变量,方法,构造方法,局部变量参数等信息进行访问控制。这一篇主要是利用反射特性讲一下Annotation,定义的方式为@interface xxx。对程序运行没有影响,主要是能够通过Annotation对构造方法,成员变量,成员方法,局部变量进行一个注解提示。如果再结合...

2019-05-20 00:09:43 429

原创 Java从入门到精通 十六章 反射

反射机制作为框架的基础,在后续框架学习如spring中有着非常重要的作用.现在还想起来17年的时候问同事 反射是啥.现在想想这也是基础够不扎实的问题。本章主要将2个东西,一个是反射,就是针对正在运行的程序我们可以知道对象实例类中的方法 成员变量 构造方法等信息,这些都是可以通过类的方式进行管理的。如构造方法Constructors类,方法Method类,字段类Field.同时还有个可以修改访问权...

2019-05-15 02:05:34 222

原创 Java从入门到精通 十二章 异常处理

前言:异常处理在日常开发中很常见,一般来讲项目框架中都会对异常处理做一个统一的处理。同时可能会自定义多个错误对象,在业务处理的时候时候抛出来。比如目前采用SSM框架的项目中,就存在多种自定义错误类型,如BizException(业务处理异常)、MessageException(应用系统异常),ValidateException(应用系统校验错误)错误对象.在不同的情况下使用,前面2中业务处理异常及...

2019-05-07 00:47:57 251

原创 Java从入门到精通 十一章 类的高级特性

简介类的高级特性 这一章主要是介绍了java中的包,final修饰词,内部类三个知识点.需要重点掌握和熟悉的是内部类以及final修饰词这2个用法。final关键字final修饰词在java日常开发中用到的太多了,如父类使用final修饰,子类无法继承.修饰方法.子类继承中无法重写.否则编译器就不认可这种写法.类似的还有final修饰的变量,不可修改,必须要初始化(需要注意的一些基本数据...

2019-05-05 00:14:12 115

原创 Java从入门到精通 十四章 集合

java集合作为一种存储对象的容器,在平时开发中有着很重要的作用.说到java中存储数据的容器有以下几种,特意记录下(毕竟以前面试的时候考到过)。Java中的数据存储容器8中基础数据类型(只存储单个数据不算,容器是能存2个及以上的那种)String:String字符串算是一种(他是char字符数据 存储数据的容器)SrtingBuilder:而前面章节提到过得字符串生成器StringBu...

2019-04-24 01:56:58 194

原创 Java从入门到精通 第十章 接口、继承与多态

总算把java基础篇的整完了,接下回顾下java中最重要的核心技术篇. 接口 继承与多态.接口/继承/多态 是面向对象思维设计的一种具体表现,它可以有效的减少代码的冗余性,springMVC中 控制层及业务层 的具体实现就是面向接口开发的,同时通过这一章的学习发现,方法的重载及方法的重写都可以减少代码冗余,同时还有一些细节的问题没有注意到,比如方法的重载中 形参不同+方法名相同即可实现重载.修饰词...

2019-04-21 15:36:38 186

原创 java 中堆 栈 方法区的理解

最近在准备面试的东西,特意看了一下堆 栈 方法区的概念。特此整理了一下。堆 栈 方法区 存储哪些数据堆:线程共享,存储对象以及数组(数组也是对象的一种 new方式创建出来的),同时由于对象内存是动态分配的,对象在超过生命周期及空指针的时候会被gc垃圾回收机制回收,所以效率较慢。栈:用于存储基本数据类型以及对象的引用类型(这里指的基础类型是指不为static修饰的变量,如成员变量 ...

2019-04-17 23:26:59 744

原创 Java中序列化与反序列化的理解

这两天在看有关序列化与反序列化的内容,大概知道了序列化与反序列化的作用,特此记录下,记录的同时 希望对迷惑这一块内容的同学有所帮助 。序列化与反序列化的概念序列化:将对象序列化为字节序列的过程称为序列化.反序列化:将字节序列转换为反序列化对象的过程称为反序列化Serializable接口:没有任何抽象方法需要实现,只要对象实现了这个接口,就可以对该对象进行序列化与反序列化操作.如果没有指...

2019-04-16 22:45:56 237

原创 有关java中Redis使用的理解

过年之后项目中也开始使用redis了.使用学习了redis也一段时间了,说一下使用学习总结的东西.首先Redis有2个作用:一个是作为nosql非关系型数据库存储数据(非关系行数据库指的就是无法通过字段关联 实现关联查询,常见的有内查询与外查询,左连接,右连接等),另一个作用就是类似缓存存储服务器,存储一些会过期的数据(这主要是由于Redis可以设置key的有效期)为什么使用RedisRe...

2019-04-15 23:16:01 321

原创 二进制 八进制 十进制 十六进制转换

编程软件开发 必须要掌握的一个知识点就是各不同进制之间的转换,特此记录下,加深印象。二进制:由0和1组成的八进制:0、1、2、3、4、5、6、7十进制:0、1、2、3、4、5、6、7、8、9十六进制:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F二进制与十进制的转换二进制转换为十进制: 10010110-》 从最后以为开始向前叠加–》从2的0次方到2的8次方 ,如果为...

2019-04-15 00:55:10 1104

原创 Java从入门到精通 第九章 数字处理类

做过开发的应该都知道涉及到金额计算的 不能出现过大的精度缺失,如果还是用开发语言 如java中处理浮点数的方式,那样子会有精度缺失的情况出现.同时在java中如果出现0.001~1000 0000返回之外的 会使用科学计数法,那样明显无法满足实际情况的出现.DecimalDecimal格式化工具类是 用于对常见格式数字处理的,比如首先创建Decimal对象实例,通过有参构造方法 传入设置格式。...

2019-04-14 19:21:02 149

原创 Java从入门到精通 第八章 包装类

java开发中 包含着8种基本数据类型,但是基本数据类型不能作为对象处理。因此某些常用的比较,类型转换 用起来就比较麻烦。所以java除了基础类型之外,也弄了一个封装类。就是把8种基本数据类型 封装了一下,内部包含常用的api方法。下面来看一下~Integerjava中的4种基本数据类型的封装类byte short int long 都是继承自java.lang.Number,实现了Com...

2019-04-14 12:24:05 97

原创 Java从入门到精通 第七章 类和对象

类和对象类和对象作为java语言的基础,在日常开发中用到的就是类和对象.类作为对象的载体,承载着对象中的成员变量及成员方法. 同时类作为抽象事物的描述,包含着描述事物的属性和行为信息. (之前一直对成员变量及成员方法 类变量及方法的概念容易搞混 ,后面知道 成员变量及方法属于对象,而类变量及方法 属于类 ,使用static修饰.而局部变量 是只在某个函数中声明的变量,该变量的生命周期...

2019-04-13 23:17:14 124

原创 Java从入门到精通 第六章 数组

- 数组数组作为对象的一种同样存储在堆中。作为一种存储基础数据类型的容器。还是蛮重要,虽然与集合相比 存在着长度固定的缺点,日常开发用到不多。但是作为java的基础知识点,重新温故下 还是蛮有必要的。- 数组的定义指通过声明数据类型和大小 来标识一组具有相同类型的容器.数组分为一维数组及二维数组。- 一维数组数组的使用数组的声明实例化需要声明数组的2个基本元素:存储数据类型及存储数...

2019-04-11 01:33:00 166

原创 java从入门到精通 第五章 字符串

今年一直比较懒,买的java相关的书籍也没有看.借着清明节的机会,想着把java从入门到精通这本书的 内容看下,特此记录下 看完之后的总结体会.String类字符串类是java最常用的对象,字符串对象中有着各种各样的api方法,能够在平时对字符串处理的时候有帮助,特此记录下String类对象的声明,String类对象的声明方式有以下几种String s=“xxx”;String s...

2019-04-08 00:18:16 148

原创 MySQL解决字符串含有emoji表情无法插入的解决办法

MySQL 解决 移动端 emoji表情 的方法业务问题解决办法功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入业务问...

2019-03-14 00:06:47 2311

原创 Java单例模式

1.单例模式的概念2.饿汉模式3.饱汉模式4.饿汉模式及饱汉模式存在的不足5.双重检查之饱汉模式6.完美的单例模式

2019-03-10 23:11:51 109

原创 IDEA导入Tomcat源码的踩坑日常

最近在向中级开发工程师的路上迈进,所以特意学习下IDEA的使用以及Tomcat源码(主要是最近在Tomcat会话保持上,sessionId的产生及如何给前台产生cookie上有所歧义,特此研究下) 废话不多说 上硬货,IDEA导入tomcat源码时 会碰到各种恶样的坑,特此记录下,一方面是记录,一方面看到的同学一个提醒tomcat源码下载地址,每个版本的源码都有,分为分为tar.gz 以及zi...

2019-03-06 01:05:01 2965 1

原创 IEDA 安装破解

1.IDEA破解已经有大佬弄出来了,需要注意的是 破解IDEA2与2.X之后的破解方法不同,2.2.X之后的很简单,下载jar包,修改配置文件,获取破解码 即可2.X破解方法参考地址3.2.0之前的版本 可以使用网上给出的IDEA破解服务器,也可以自己搭建服务器.添加链接描述4.我的个人IDEA2.0之前的破解服务器地址:https://www.qqcjy.cn//IEDACRACK...

2019-02-25 15:07:40 769

原创 微信公众号access_token+jsapi_ticket全局缓存解决方案

1.最近公司在做微信公众号 链接分享的功能,后台需要配合前段 提供access_token+jsapi_ticket的信息,同时有效期设置为7200秒,需要定时刷新.开始想着使用定时器任务+Reddis缓存的方案,后面一想其实Reddis就有定时器的作用,通过把接口获取到的access_token等信息存入Reddis中,同时设置有效期为2个小时,每次需要的时候判断Reddis是否存在,不存在则...

2019-02-19 23:45:45 2297

原创 Frp内网穿透(http或者https都可以)

1.这两天公司在开发微信小程序的东西,需要后台提供https域名的 接口,测试及正式服务器倒是简单,因为已经配置了域名和证书,但是本地如何实现https的接口访问地址那?开始用的花生壳 那个坑呀,网络很不稳定 ,容易断.还好前人种树后人乘凉,已经有大佬给出解决方案了,那就是frp内网穿透工具.2.frp的基本原理是这样的:利用公网中的机器 启动启动服务端,内网穿透的机器启动客户端,服务端与客...

2019-02-17 17:37:53 18842 3

原创 RabbitMq的学习总结

1.问题需求

2019-02-17 01:59:44 178

原创 Mybatis中Generator代码生成工具 实例解析

1.当前项目使用的Mybatis框架,如果新建表则 需要使用到Mybatis的 Generator工具 生成相关代码(dao接口 xml配置文件 entity实体类),之前只知道怎么用,借着现在这个机会 研究下Generator这个工具怎么用的.Mybatis中的Generator官网地址如http://www.mybatis.org/generator/index.html.3.Mybati...

2019-02-11 14:00:49 5574

原创 Java中导入/导出excel,导出pdf报表信息

1.项目中经常需要用到报表生成,信息导入数据库的功能.主要有以下几种.2.其中比较简单的是 外部数据无需处理直接 导入数据库中,这种比较简单.直接利用Navicat数据库工具 导入外部.示例如下1.准备customer.xlsx文件信息2.使用导入向导,选择导入文件的xlsx文件类型3.选择导入数据源及相关表位置.4.选择导入xlsx数据源位置,从第几行开始导入,字段名行的相对行位置...

2019-02-08 19:30:08 1737

tailLog日志 网页查看项目

使用方法 1.修改项目中的配置文件,包括index.html中的2处位置,js文件引用位置+ws接口位置 2.修改web-inf中app.properties 日志文件位置 3.修改zip文件为war文件,放入tomcat直接部署,到网页查看http://xxxx:xxxx/tailLog-1.0.0/

2019-01-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除