自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java程序源

生活不止眼前的苟且,还有读不懂的诗,和到不了的远方 ~_~

  • 博客(118)
  • 资源 (4)
  • 收藏
  • 关注

原创 终于找到一个很赞的相亲社交软件了,而且还是公众号java+vue

小程序、公众号如今早已成为了流行,用户数量巨大,今天就给大家奉献一款自研的相亲交友软件,采用java + vue,模块齐全,后期升级迭代简单。用户可自行发起组局邀请:游戏、KTV、爬山、狼人杀、台球等等等,活动众多,可自行设置组局人数、时间,且发起者可同意、拒绝组局申请。可以查看用户的相片、地理位置距离、个人介绍、爱好、喜欢/不喜欢、打招呼、实名状态等等,满足广大市场和用户需求。可以设置不同地区、性质的群,比如:XXX代理群、XXX城市青年脱单群、XXX城市父母助攻群,且可付费进群!

2023-10-28 09:36:35 382

原创 社交相亲聊天软件公众号、app一应俱全

社交相亲软件源码,一个完整的系统,可进行二次开发

2022-09-13 23:50:16 1062 1

原创 简历模板、公考、考研、pmp证书、PPT模板等一应俱全

先关注收藏一下吧,不管是学习提升 还是跳槽,也不管是转行 还是工作汇报,总会用上的。

2022-05-20 23:26:45 586

原创 有base64,为何还有base58,以及Illegal base64 character 20报错

分析base58的使用以及与base64的却别;另外附注base64遇到的典型报错信息和解决方案。

2021-12-22 00:18:15 819

原创 高级程序员必须精通的Redis——zset(有序集合)

ZSet类型的解释说明ZSet集合和Set集合类型类似,只是在set的基础上,增加了一个score排序分值;特性:sorted set,有序集合元素为string类型 元素具有唯⼀性,不重复每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序说明:没有修改操作(但可以覆盖)补充Redis有5种基础数据结构,分别是:string(字符串)list(列表)hash(字典)set(集合)zset(有序集合)(这个排序的功能是通过Skip List(跳

2021-07-28 00:40:23 1530 1

转载 Kafka分区与分组原理

 一、1、原理图2、原理描述一个topic 可以配置几个partition,produce发送的消息分发到不同的partition中,consumer接受数据的时候是按照group来接受,kafka确保每个partition只能同一个group中的同一个consumer消费,如果想要重复消费,那么需要其他的组来消费。Zookeerper中保存这每个topic下的每个partiti...

2021-06-29 10:00:06 986

转载 Kafka 设计与原理详解

一、Kafka简介 本文综合了我之前写的kafka相关文章,可作为一个全面了解学习kafka的培训学习资料。1 转载请注明出处 : 本文链接 1.1 背景历史 当今社会各种应用系统诸如商业、社交、搜索、浏览等像信息工厂一样不断的生产出各种信息,在大数据时代...

2021-06-29 09:56:03 178

原创 重大推荐:读取导入的表格数据,请使用EasyExcal替代poi

为什么会是重大推荐呢?是因为公司线上出现了OOM!!!!细思极恐为啥呢?是因为我们在做导入的时候经常会面临两个问题1、我们导入模版一般只是读取表格的第一个sheet,但是第一个sheet数据不多,但是导入的表格可能会非常大。这有可能是因为存在其他的sheet,毕竟用户方我们控制不了。2、虽然导入只有一个sheet,且数据看起来很少,但是代码读取却消耗了很大内存这有可能是因为sheet数据的下面看起来是空的地方,存在大量的空格、有格式的空数据等。目前发现的我们系统就是因为这两个问题,直接导致系统

2021-06-23 00:39:12 623 1

原创 Runtime类中的freeMemory,totalMemory,maxMemory方法,查看内存情况

最近在网上看到一些人讨论到java.lang.Runtime类中的freeMemory(),totalMemory(),maxMemory ()这几个方法的一些题目,很多人感到很迷惑,为什么,在java程序刚刚启动起来的时候freeMemory()这个方法返回的只有一两兆字节,而随着 java程序往前运行,创建了不少的对象,freeMemory()这个方法的返回有时候不但没有减少,反而会增加。其实主要是因为这些人对freeMemory()这 个方法的意义应该有一些误解,(今天我也遇到啦。哈哈哈)大多数人以

2021-06-23 00:00:48 839

原创 (九)线程不安全的容器 :HashMap

上一篇我们说了ArrayList是个不安全的容器,这里我们再说说HashMap。HashMap研究起来会比ArrayList更加有意思。解决方案:使用 ConcurrentHashMap 代替 HashMappackage com.zmkj.admin.test;import java.util.HashMap;import java.util.Map;/** * 线程不安全的容器 : HashMap * * @author sunminghao */public class H

2021-06-03 00:30:17 140

原创 (八)线程不安全的容器:ArrayList

ArrayList这个集合在实际开发中我们经常用到,但是在多线程中我们是不可以使用的,这也正是因为他是一个线程不安全的容器,同时还有HashMap(看下一篇文章),这里我们先说一下ArrayList。解决方法:改进的方法很简单,如程序上的注释行一样,使用线程安全的 Vector 代替 ArrayList 即可。package com.zmkj.admin.test;import java.util.ArrayList;/** * 线程不安全的容器:ArrayList * * ArrayL

2021-06-03 00:26:31 149

原创 (七)线程的优先级Priority和关键词:synchronized

线程执行顺序,其实就是看谁先争夺到资源,那么有没有办法改变这种机制呢?答案是,有的,但是也只是干预,并不是说不让他们去争夺资源。那就是使用了:线程优先级同时我们也简单了解一下 synchronized 这个关键词,了解一下他的特性和简单用法等。package com.zmkj.admin.test;import lombok.SneakyThrows;/** * 线程优先级 * * 温习一下线程的几种状态: * 新建(NEW)、可运行(RUNNABLE)、运行(RUNNING)、阻

2021-06-03 00:16:30 333

转载 (六)线程的5种状态详解

之前忘记记录了,今天看到这个老猫大佬的这篇就拉过来记录一下下 ,写的很不错。 Java中的线程的生命周期大体可分为5种状态。   1. 新建(NEW):新创建了一个线程对象。 2. 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。 3.&nbsp

2021-05-30 22:20:34 202

原创 (五)多线程:等待线程结束(join)和谦让(yeild)

多线程也是很有礼貌的,毕竟都是二十一世纪了,大家都是文明人。来!瞅瞅人家的素质 哈哈哈package com.zmkj.admin.test;import lombok.SneakyThrows;/** * 等待线程结束(join)和谦让(yeild) * * 将他们两个的关系对应到多线程中,很多时候,一个线程的输入可能非常依赖于另外一个或者多个线程的输出, * 此时,这个线程就需要等待依赖线程执行完毕,才能继续执行。 * * @author sunminghao */

2021-05-27 00:22:22 145

原创 (四)使用好多线程挂起suspend和继续执行resume

之前介绍了多线程的挂起suspend()和继续执行resume()也说了他的弊端,不建议使用是一回事,但是并不影响我们去了解他们下面我们说一下 如何规避其弊端,更好的使用他这里也就结合了多线程的等待wait() 和唤醒notify()package com.zmkj.admin.test;/** * * SuspendAndResume 挂起 和 继续执行的问题 * 这里说一下 如何 搞一个比较靠谱的Suspend 方法 * * @author sunminghao */publ

2021-05-26 22:46:15 190

原创 (三)多线程挂起(suspend)和继续执行(resume)

说完多线程的等待wait()和唤醒notify(),这里再说一下挂起suspend()和继续执行resume()package com.zmkj.admin.test;/** * 线程的 挂起(suspend) 和 继续执行(resume) * 这两个操作是一对相对的操作,被挂起的线程必须要等到resume()方法操作后,才能继续执行。 * * 乍一看,其实和Thread.stop()方法一样, * 但是,在文档说明中,他们早已被标注为 废弃方法 ,并不推荐使用。 * (其实Thread.

2021-05-26 22:42:08 523

原创 (二)多线程notify()是唤醒线程顺序:有序的!有序的!

多线程notify()是有序唤醒线程的!!有序的!!有序的!!重要的事情说三遍 就是有序的唤醒等待的线程的之前网上有很多说notify是随时唤醒线程的 是错的这里我们用两个例子来举证一下 ,这种方式比源码来的简单当然如果不够详细的话 大家可以去研究一下 wait和notify的源码,这里我就不贴出来了package com.zmkj.admin.test;import java.util.LinkedList;import java.util.List;import java.uti

2021-05-24 14:29:12 992

原创 (一)多线程的wait()和notify()简单例子

多线程wait()使一个线程中断执行,处于等待的状态,notify()则是唤醒一个处于等待的线程,继续向下执行上简单案例同时思考几个问题package com.zmkj.admin.test;/** * wait() notify() 简单案例 * * 知识点: * 1、线程的等待、睡眠、唤醒 方式 * 2、notify 是立即释放锁吗? * * @author sunminghao */public class WaitAndNotify { final s

2021-05-24 14:16:13 408

原创 JDK1.8 在对象List集合中取某属性值,并组成一个集合List

现在我们的开发是绝大部分使用的jdk至少也是1.8版本的,这个版本 开始 增加了很多的特性,今天也只是记录其中的一小部分,只是一个小疑惑。在开发过程中 我们经常会遇到需要从一个List中取出一个属性的List集合 比如 id的集合所以就会用到JDK8中的方法,有个疑问,当我们取值的时候 是否会碰到空指针呢 ?答案是:不会但是也会有另外一个问题上例子public static void main(String[] args) { User user1 = new User();

2021-05-18 22:49:08 14711 1

原创 二、Spring源码-Spring是如何读取、加载、注册applicationContext.xml中的bean的

版本:Spring 3.0.5第一次看Spring源码,可能记录的只是一些调用过程,有些地方不大对,以后也将会一点点完善文章内容。还望大神们指点,万谢!!!阅读源码最大的感慨就是:咋就那么后悔十几年的学校生涯咋就没把英语学好呢???翻译均来自谷歌翻译或者百度翻译(大神将就一下下,不合适的地方还请指出。万谢!!!)阅读Spring我们首先要了解的就是bean的加载和注册,我们采用手动注入bean的方式,debug进去看Spring的执行顺序和方法调用。Spring会通过refreshBeanFa

2021-03-13 17:34:55 286

原创 一、如何阅读Spring源码(全网最简单的方法)

学习Java最好最有效的方法是学习Spring,但是最笨最没效的方法也是学习Spring。为什么这么说呢?道理其实很简单A、Spring很庞大,很完善,也非常的底层,如果我们学会的Spring,那么也就掌握了很多的技术的核心,也了解了很多的开发思想,所以说他是最好也是最有效的;B、但就是因为Spring很庞大,很完善,所以学习起来本身就是一件很枯燥,很难坚持下去的一件事情,放弃的人也占了大多数。当然,其中也有很多的坑,比如:我们会一味的学习其中的请求调用流程,陷入本末倒置,了解的其中的方法调用,却忽略

2021-03-12 19:23:23 5632 3

原创 Spring boot Mybatis一个项目配置多个数据库(2020最后一刻)

2021念家乡,但未返航。边看春晚边改代码 偶尔还视频串个场 来一杯 哈哈哈哈哈祝大家新年快乐,万事如意。最近练手两个项目,由于节省时间,现在需要将两个系统的后台管理系统揉合到一起去,一来是为了节省时间,省去了基础框架权限等,二来也是为了节省硬件服务器资源,还有就是为了管理方便。所以就需要解决一个问题:一个项目使用两个数据库。直接上配置和代码:一、数据源的配置配置数据源信息,这里也不局限于两个,可以更多个application.ymlspring: server: max-ht

2021-02-12 00:03:18 1855

原创 Mysql分区表的原理和优缺点以及注意点

1.分区表的原理分区表是由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们也可以直接访问各个分区,存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层表上各自加上一个相同的索引,从存储引擎的角度来看,底层表和一个普通表没有任何不同,存储引擎也无须知道这是一个普通表还是一个分区表的一部分。在分区表上的操作按照下面的操作逻辑进行:select查询:当查询一个分区表的时候,分区层先打开并锁住所有的底层表,优化器判断是否可以过滤部分分区

2021-02-03 00:04:51 640

原创 Mysql分区表概述、分区类型、分区管理

一、分区概述分区是指根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分。分区有利于管理非常大的表。MySQL分区的优点主要包括以下4个方面:1、和单个磁盘或者文件系统相比,可以存储更多的数据2、优化查询。where子句包含分区条件时,可以只扫描对应分区,缩小了查询范围。同时在涉及count()和sum()等聚合函数时,可以在多个分区上并行处理。3、对于已经过期或不需要的数据,可以通过删除分区快速删除。4、跨多个磁盘来分散数据查询,以获得更大的查询吞吐量。创建分区表:mysql&

2021-02-02 23:57:45 648

原创 Java进行Base64的编码(Encode)与解码(Decode)

public static void main(String[] args) { try { String str = "{\"code\":\"61\",\"id\":\"334910\"}"; //编码 java.util.Base64.Encoder encoder = java.util.Base64.getEncoder(); String str2 = encoder.encodeToString(str.getBytes(

2021-02-01 23:16:59 1745

原创 java 各个中间件技术框架及思考。希望大家来一起完善

做一个思考:这么多 我们该如何正确的选择适合自己的?网关:Nginx、Kong、Zuul缓存:Redis、MemCached、OsCache、EhCache搜索:ElasticSearch、Solra、如何优化?如何具备更好的兼容性?熔断:Hystrix、resilience4ja、如何更灵活控制?更安全稳定?负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy注册中心:Eureka、Zookeeper、Redis、Etcd、Consul认证鉴权:JWT消费队

2021-01-11 22:49:28 415

原创 长连接和短连接的区别、长连接的实现

一、长连接与短连接:长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此方式常用于一点对多点通讯。二、长连接与短连接的操作过程:短连接的操作步骤是:建立连接——数据传输——关闭连接…建立连接——数据传输——关闭连接长连接的操作步骤是:建立连接——数据传输…(保持连接)…数据传输——关闭连接三、长连接与

2021-01-07 23:28:03 2799

原创 阿里重磅开源在线分析诊断工具Arthas(阿尔萨斯)

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。Arthas可以帮助你解决以下痛点!!!1·这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?2·我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?3·遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?4·线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!5·是否有一个全局视角来查看系统的运行状况?6·有什么办法可以监控到JVM的实时运行状态?

2020-11-10 11:49:24 261

原创 JAVA 关键字、敏感字 屏蔽过滤检测功能实现,不需要集成融合,不需要solr啥的 简单实用

项目里面我们要做一些关键词的判断拦截1、要么你是为了屏蔽某些词;eg:它是一个**2、要么你是为了校验某句话里面是否包含的有某些词;eg:关键词:妙龄少女;例句:我想找个妙龄少女做我女朋友! (谁不想?)方法很多,比如ES ? Solr ? 好用 但是如果只是简单的项目需求,需要搭环境啥的,那就太麻烦啦!这里有个漂亮的妙龄少女,不不不,是个简单的方式。言归正传 上代码SensitiveFilterService.javapackage com.example.sensitivedemo

2020-09-16 10:00:01 3061

原创 Feign解决Get请求自动转化成POST的问题

记一次无厘头报错:Request method ‘POST’ not supported看起来很简单呐,就是不支持post请求嘛!!场景:对接研究三方接口(微信推送),三方接口请求方式是GET方式,之前参数接收也是顺利完美的,但是研究个性消息推送的时候出现了问题,设置了推广二维码,用户扫码的关注后,收不到推送消息,系统直接报“Request method ‘POST’ not supported”错误,所以问题点显而易见!!但是吧,百思不得“姐”!!!三方是get请求,但是为啥子现在又是post呢?

2020-08-11 14:54:39 5738 1

原创 java.lang.RuntimeException: Serialized class XXXXXX must implement java.io.Serializable 错误 dubbo

这个错误很简单一般是因为我们在做 多层嵌套实体 的时候漏掉了一些东西 implements Serializable每个实体都要序列化 都要实现 implements Serializable

2020-08-05 14:51:38 2970

转载 Java最全面 面试题(2020最新版)boot、cloud、mybatis、dubbo、mq、linux等等等

借鉴自大神 https://blog.csdn.net/ThinkWon/article/details/104390612大神时有更新,可借此备战面试概念点,也可做为温习知识点 棒棒哒! 特此记录!序号内容链接地址1Java基础知识面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/1043906122Java集合容器面试题(2020最新版)https://thinkwon.blog.csdn.

2020-08-03 14:13:20 250

转载 终于有人把Elasticsearch原理讲透了!

转自:https://developer.51cto.com/art/201904/594615.htm特此谢谢原作者!在此分享给大家 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。随着央视诗词大会的热播,小史开始对诗词感兴趣,最喜欢的就是飞花令的环节。但是由于小史很久没有背过诗词了,飞一个字很难说出一句,很多之前很熟悉的诗句也想不起来。倒排索引吕老师:

2020-07-31 14:38:21 242

原创 integer == integer返回 true 还是 false?

看到了一个比较坑的问题:integer == integer 返回 true 还是 false 呢?所以你觉得下面两个输出是什么呢?(波浪线忽略,是因为封装类型不建议用“==”,应该是equals)答案很简单,第一个 integer = 20, 返回的是 true,第二个 integer = 321 返回的是false !!!what???是因为,一来:Integer里弄了一个缓存,对于在 -128—127 之间的数值,会直接使用该缓存里的对象 ;所以也就是说 在我们比较 intege

2020-05-13 16:18:56 1823 2

原创 服务器重装后,mac无法连接服务器,处理方法

known_hosts是记录远程主机的公钥的文件当连接服务器时候首先校验到的公钥不匹配就会无法连接此时,删除系统保存的旧服务器系统密钥即可终端窗口中操作以下命令:ssh-keygen -R服务器ip地址(-R与ip地址之间无空格)...

2020-03-03 11:39:00 4191

原创 linux中table按键不能补全代码

Linux系统table无法不全 请安装这个补全插件yum install bash-completion如果安装成功后仍然无效,请重新进入!

2019-11-14 13:51:19 1670

原创 神器Aviator 表达式-使计算变的更简单、可读性更强

在业务编码中,我们避免不了业务数值的运算,但是金钱类的计算为了不丢失精度,我们都是采用BigDecimal。那么问题来了,诸多的加减乘除,我们需要不断的使用add、multiply等去做运算,可读性差一不小心还会出错!!所以可以使用Aviator 表达式,直接上代码!!1、使用Aviator 需要导入包<dependency> <groupId>com.goog...

2019-10-21 19:50:22 1511

原创 mysql 5.7版本1055错误处理办法,不用重启数据库!

关于mysql 1055的异常处理记录,ONLY_FULL_GROUP_BY 是 group规则, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行.这里我执行的是group by操作。select * from order group by user_id网上方法很多,好多也都是修改mode然后重启,但是有的时候数据库根本没办法重启,比如生产环境...

2019-10-07 10:27:21 368 1

转载 gitlab搭建与基本使用

一、git、github、gitlab的区别Git是版本控制系统,Github是在线的基于Git的代码托管服务。GitHub是2008年由Ruby on Rails编写而成。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,只有付费账户可以创建私有的代码仓库。Gitlab解决了这个问题, 可以在上面创建免费的私人repo。二、gitlab server搭建过程...

2019-08-23 18:17:02 80835 11

原创 解决 IntelliJ IDEA Could not autowire. No beans of 'xxxx' type found 问题

问题:在idea进行开发中我们总会遇到提示Could not autowire. No beans of ‘xxxx’ type found…解决方案:降低idea的Autowired检测级别,打开idea的配置在Editor >> Inspections >> Spring >> Spring Core >> Code >>Aut...

2019-08-23 17:58:51 3378

大型网站技术架构 核心原理与案例分析+李智慧-高清 和 大型网站系统与JAVA中间件实践

大型网站技术架构 核心原理与案例分析+李智慧-高清 和 大型网站系统与JAVA中间件实践 两本书PDF高清版本 好东西分享给大家 值得一看

2019-03-19

支付宝收款铃声素材

该素材涵盖了支付宝所有的收款提示音,而且是原声,大家可以根据自己的需要合并出相应的音频,自由合并,自由发挥,里面包括有简单的合并方法,有电脑就能合并!!!该提示音可以很好地作为项目中的收款提示,同时也可以合并出霸气的装逼手机铃声!!!

2018-12-03

bootstrap管理系统前端框架

bootstrap框架,可以直接调用封装好的样式,用起来较为方便。该文件为bootstrap后台管理系统框架,上部系统名称,左菜单栏,右内容。弹窗口、页面等都已美化好。且涵盖有多种日常使用操作流程、样式等。

2018-05-08

尼康D7200使用说明书PDF版

数码相机d7200是一款入门中端相机,熟悉原版说明书,更有利于日常操作。PDF版具有兼容性高、清晰等特点。D7200新手必备!

2018-05-08

空空如也

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

TA关注的人

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