自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

稀饭

个人博客:chenxinfan.com

  • 博客(48)
  • 收藏
  • 关注

原创 分布式ID生成方案-数据库版

个人博客:chenxinfan.cn今天(2021年8月8号)刚好是毕业工作第40天,经过一个多月的工作,对组内使用技术有了一定的了解,并逐步熟悉公司相关平台的操作流程,工作氛围个人来说不错,也可能是目前自己段位比较低,看不清暗流涌动,也许这是第一份工作,没有对比就没有伤害。这篇文章将讲述一种分布式ID的生成方式。为什么需要分布式ID在业务量不大的时候,单库单表就可以支持现有的业务,随着数据量的增多,我们可能就需要分库分表,分库分表后如果依然使用自增ID那么就会容易造成ID重复,所以就需要分布式I

2021-08-11 23:26:15 232

原创 Java反射机制

最进在学习spring,在结合自己这几天的学习发现,反射机制太重要了,虽然之前自己学过,但是现在有些忘记,于是就想把Java反射机制总结以下。个人博客:大碗稀饭反射机制反射机制的优点使代码更加灵活,比如在web方面,我们数据库是MySQL,我们也写了相关的dao层,但是突然我们需要换一个Orcale,但是我们完全可以通过配置文件的方式,然后再用反射机制再将加入到容器中。反射机制的缺点缺点也很明显,就是我们使用反射的地方将会变成解释执行,告诉JVM遇到什么情况执行什么,比直接使用要慢。反射机.

2020-05-31 13:51:31 400

原创 Java泛型的简单总结

最近在imooc上面买了一个有关spring源码分析的课程,前几天花了不少时间才把spring源码编译成功,真的太花时间了,这几天就开始了spring的学习,今天在学习课程的时候,老师讲解到了泛型。泛型我在以前确实学过,但是随着时间的推移,逐渐忘记了,今天就想来总结一个泛型的使用。学无止境,好好学习吧,少年,加油!个人博客:大碗稀饭泛型的好处(以下内容来自百度百科)Java语言中引入泛型是一个较大的功能增强。不仅语言、类型系统和编译器有了较大的变化,以支持泛型,而且类库也进行了很大的改动,许多重.

2020-05-31 13:50:28 239

原创 Java的内省与反射

今天安全编程上机,本来以为就是简单的几个Java的小实验,但是在今天这个上机的时候,我第一次听说了JavaBean的内省机制,第一次听说,感觉很新奇,然后就查阅了相关资料发现这个与反射机制有些相关联,所以就想简单的总结一下今天上机的收获。学无止境,果然,学无止境。个人博客:大碗稀饭在讲解Java的内省机制之前,然我们来看看Java的反射机制。反射机制反射机制的优点:可以实现动态的创建对象和编译,使代码更加灵活多变,比如在javaWeb方面。在开发的时候我们使用的MySQL,但是如果线上环境需要.

2020-05-31 13:48:44 531

原创 如何在Visual Studio Code中通过LocalHost打开html文件

最近这几天开学React前端框架,然后就在B站找到了一个入门视频,开始了学习,在React学习视频中,我看那个老师使用的是Visual Studio Code来写前端代码,于是我就立刻下载了Visual Studio Code,但是在这个学习视频中,我发现老师直接打开html文件居然是localhost的,而我自己打开的file,这个开始我并没有在意,但是在后面学习的过程中,我遇到了一个问题,就...

2020-05-01 18:21:31 5446 5

原创 简单实现延迟队列

昨天,人生的处女面,面试官问我如何实现延迟队列,然而不争气的我只知道用redis和ScheduledExecutorService来实现延迟队列,说白了,面试的时候,把延迟队列的实现方式想的太复杂了,总之还是我太菜了,菜是原罪啊啊啊啊,????????????文章目录认识过延迟队列吗?什么场景需要延迟队列?什么是延迟队列?使用延迟队列我们可以解决什么问题?延迟队列的实现方式使用Redis的zset结构来时实现...

2020-04-25 15:38:32 722

原创 JVM参数使用小手册

最近复习了一下JVM,想小小的总结一下????????????文章目录标准参数-X参数小插曲:编译型语言&解释型语言-XX参数查看参数设置参数的方式参数小手册标准参数java -version : 查看java版本号java -help : 快速查看帮助-X参数非标准参数,也就是在JDK各个版本中可能会变动-Xint : 解释执行-Xcomp : 第一...

2020-04-23 11:29:56 458

原创 RockerMQ(寻坑集)---那些年我们一起踩过的坑---rocketMQ部署流程

前言:最近在写项目中,需要使用rocketmq作为消息中间件,这还是我第一次使用rocketmq消息中间件,但没想到这个使用过程却是困难重重,以下就是我们在这次使用rocketmq中遇到的问题总结。环境:在阿里云上安装rocketmq(版本:rocketmq-4.6.0),然后在本地调用。官方rocketmq的启动方式呵呵,我觉的这个官方启动的方式好坑呀,首先我们不说rocketmq需要多...

2020-04-20 18:53:33 1144

原创 IntelliJ IDEA的使用快捷键汇总(持续更新)

工欲善其事,必先利其器文章目录快速查看一个类的所有方法光标回到上一次位置的快捷键快速查看一个类的所有方法①快捷键Alt + 7②快捷键Ctrl+F12光标回到上一次位置的快捷键好像默认快捷键有什么冲突,用不出来,所以我设置自己的快捷键。我将前进设置为 Ctrl + 向右箭头 ,后退设置为了Ctrl + 向左箭头...

2020-04-12 18:06:15 216

原创 怎么实现LRU算法呢?

文章目录什么是LRU如何实现用LinkedHashMap实现用HashMap实现什么是LRULRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。(来源于...

2020-03-16 20:12:34 296

原创 MySQL的基础架构

MySQL基础架构图MySQL组成部分说明①连接器作用:负责和客户端建立连接,权限校验,管理和维护连接,连接完成处于空闲状态。问题:如何查看空闲列表?答案:通过show processlist查看,在Command字段,为Sleep为空闲状态。引申:我们知道如果客户端长时间不相应,那么会断开连接,而这个时长由wait_timeout控制,默认时间8小时。命令:SHOW GLOBA...

2020-03-13 17:01:21 258

原创 ArrayList的源码分析

文章目录ArrayList的简介源码分析首先我们先来看看ArrayList集合的相关属性和构造方法Add方法:①在末尾添加②指定位置添加ArrayList的扩容机制自定义扩容大小ensureCapacity方法get方法set方法remove方法:①按角标删除②按元素删除ArrayList中modCount的作用ArrayList中RandomAccess 接口的作用ArrayList的简介1...

2020-03-13 16:59:28 182

转载 Java NIO与Java BIO的区别

作者:Monica2333链接:https://www.jianshu.com/p/8b3af5bf4ce1来源:简书1.什么是Java NIO?同步非阻塞io模式,拿烧开水来说,NIO的做法是叫一个线程不断的轮询每个水壶的状态,看看是否有水壶的状态发生了改变,从而进行下一步的操作。Java NIO有三大组成部分:Buffer,Channel,Selector,通过事件驱动模式实现了什么...

2020-02-07 17:20:17 1291

原创 springboot Ajax跨域问题 session共享

跨域问题前提方法前端(使用jQuery):后端(springboot):最后我遇到的问题前提最近这几天写了个小项目,是与springboot 的前后端资源分离,需要实现Ajax跨域问题和session共享的问题。在这里我先简单的说明一下:在这里呢,我只会写这怎么做,去避免这个问题,也许这里的总结会与网上的很多文章相似,但在这里只是起总结作用。如果大家想要了解跨域问题形成的原因,推荐大家可...

2020-02-03 09:56:41 650

原创 hibernate实现双向关联后转为json数组时出现死循环的问题的三种解决方案

解决方案:一,循环遍历将产生死循环的置为null二,设置过滤器三,取消循环策略最近用ssh写了个小项目,但是在用hibernate实现双向关联的时候,然后在将其转换为json字符串的时候出现异常。异常的大致意思就是转换的时候出现了死循环。然后,自己只想到了一种比较笨的解决方案,然后在百度了这个问题的解决方案,总共有三种解决办法,如下:相关准备:在这里呢,这两个类是一对多的关系,Custo...

2019-12-15 13:37:22 365

原创 Struts2:利用struts2实现文件上传

文件上传:三要素action完整案例说明上传文件过多或者重复上传因为今天写项目的时候用到了,struts2去实现文件上传的功能,感觉相对与以前用servlet实现上传简单了不少,于是,今天就来总结以下struts2的文件上传功能的实现。三要素一,表单的提交方式必须是post方法。get方式不能,是因为get方式有上传有大小的限制。二,在form表单上一定要设置enctype=“mul...

2019-12-05 20:25:18 597

原创 Struts2:Struts2的流程的简单总结

前言:struts2的实现主要依赖一个核心过滤器,StrutsPrepareAndExecuteFilter。简单说说什么是过滤器?实现过滤器我们需要实现Filter接口,然后就有三个方法,destroy(),doFilter(),init()。init():public class FilterTest implements Filter { public void destroy(...

2019-12-01 16:45:27 188

原创 hibernate的抓取策略的知识总结

hibernate准备:创建相关表和录入相关数据创建相关类和配置相关文件延迟加载:什么是延迟加载延迟加载的分类抓取策略:抓取策略的概述< set >上的fetch和lazy|---- 默认设置|---- 设置fetch="select" lazy="true"准备:创建相关表和录入相关数据CREATE TABLE `cst_customer` ( `cust_id` bigi...

2019-11-24 20:31:54 188

原创 Linux的常用命令集

Linux的常用命令集磁盘管理:ls命令cd命令pwd命令磁盘管理:ls命令ls(list)功能:列出目录的内容格式:ls [参数] [文件或目录]参数功能-a或-all列出所有文件和目录。注意隐藏文件,特殊目录。-l使用详细格式列表,但不会展示隐藏文件,特殊目录。-t用文件和目录的更改时间排序-r反向排序–help在线帮助。(注...

2019-11-09 19:40:16 308 1

原创 JAVAEE:超级详细servlet总结

servlet:什么是servlet?Servlet的创建及其相关配置Servlet执行过程Servlet的通用写法Servlet的生命周期让Servlet创建实例的时机提前ServletConfigservlet的几种方式以及接口或者类之间的关系图servlet的便捷创建和配置servlet是多线程单实例什么是servlet?其实就是一个java程序,运行在我们的web服务器上,用于接收和...

2019-11-01 15:58:18 778

原创 mysql数据库---sql语句的总结

数据库:—创建数据库:①最基本的创建方式:create database 数据库的名②创建数据库并设置字符集和校对规则:create database 数据库的名 character set 字符集 collate 校对规则eg:create database day10 character set utf8 collate utf8_general_ci—删除数据库:dr...

2019-09-07 16:22:28 335

原创 mysql数据库---sql语句的练习

练习一://创建种类表:create table category(cid int primary key auto_increment,cname varchar(10),cdesc varchar(31));insert into category values(null,'手机数码','电子产品'),(null,'鞋靴箱包','江南皮革厂'),(null,'香烟酒水','二...

2019-09-07 16:21:21 390

转载 CSS中的四种定位以及top和margin-top的区别

CSS中一共有四种定位分别是默认,相对,绝对,固定1,position:static,这种定位是默认的,一般没什么实际的作用。2,position:relative,相对定位 ,不会脱离文档流,类似于static,按顺序排列,一般设置也不会有什么变化,可以通过margin-top/right/bottom/left来改变框的位置3,position:absolute,绝对定位,这种定位脱离文...

2019-09-01 13:29:46 19438

原创 Java使用OpenCV:基于DCT变换 实现 图片 数字 的盲水印添加和提取

此水印算法的相关说明:嵌入图片:水印图:只能是64 * 64的二值图原图:只能是512 * 512的图片嵌入数字:数字:只能是0或者1的数字嵌入到图片中,可以嵌入64 * 64=4096个0或者1原图:只能是512 * 512的图片改算法目前只能抵抗:亮度,压缩,对比度,饱和度,缩放这些攻击。对于缩放而言需要注意的是,任何缩放,不管它缩放的比例是多少,我们在最后提取水印的时候必须...

2019-08-09 08:43:56 6686 16

原创 Java基础:反射机制的简单总结

什么是反射机制?JAVA反射机制是在运行状态中,对于任意一个类 (class文件),都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。动态获取类中信息,就是java反射 。可以理解为对类的解剖。看了上面的文字可能对反射机制还是不会特别清楚,那么我们就直接来看看反射机制的实现的代...

2019-07-30 21:35:37 131

原创 Java基础:网络编程的简单总结

一,网络体系结构:① 计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。② 体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。③ 实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。④ 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。两个模型:OSI模型,TCP/IP。OSI模...

2019-07-28 12:15:47 218

原创 Java基础:编码的相关解释

简单的编码介绍:字符串 --> 字节数组:编码字节数组 --> 字符串:解码GBK编码: 汉字用两个字节表示,第一种情况:第一个字节是负数,第二字节负数第二种情况:第一个字节是负数,第二字节正数 eg:琲**UTF-8编码:**汉字的编码都是 用 负数 表示UTF-8会动态分配字节数,可能是 一个字节,两个字节,三个字节。相关格式:低八位上面这张图,可能大家会...

2019-07-22 15:25:35 314

原创 Java基础:File类和IO流对象的简单总结

最近,将java基础视频IO流的部分看完了,于是我在这里总结一下,学习IO流的基础知识。javaIO流的选取规则这篇文章涉及的主要内容如下:FilePropertiesPrintWriter 与 PrintStream (打印流)SequenceInputStream(序列流)分割mp3的小程序ObjectInputStream与ObjectOutputStreamRando...

2019-07-22 15:21:21 172

原创 java调用openCV的安装教程

因为最近需要用到一些javaCV的相关东西,去处理图像,所以在这里就总结一下,javaCV的安装javaCV的安装:下载javaCV点击之后我们将看见这样一个界面。你是什么操作系统就选择相应的系统,因为本人是Windows所以我就以Windows为例说明,点击相应的操作系统,然后我们将进入另一个界面,等几秒钟,然后就会跳出一个窗口,如下。然后我们在把它下载下来就可以了,然后我们在点...

2019-07-17 16:21:54 8008 1

原创 Swing组件:简简单单实现菜单栏窗体切换

了解更多swing最近,因为种种原因,使我不得不经常性的用到swing组件,这次做课设又要用到swing组件来写界面,本来想写个网页版的?但自生条件不允许呀!!!打算这个暑假把java学习视频看完,加油!!!回到这次总结:我们在用到swing组件开发界面时,用到菜单栏时,我们心中想,我们要怎样设计,才能实现窗体的切换,注意在这里我们只出现一个窗体,于是我们可能会出现这样一种想法,通过隐藏一个...

2019-06-05 21:32:36 6788 17

原创 Java基础:IO流对象的选取规则

最近学习到了IO流这块,下面我就把视频有关讲解IO流选取的规则在这里总结一下,以防以后忘记。字节流:读入:InputStream FileInputStream BufferedInputStream System. in写入:OutputStream FileOutputStream BufferedOutputStream System.out...

2019-06-04 20:05:37 338

原创 Swing组件:JFileChooser如何设置默认路径

了解更多的swing因为最近用到swing组件中的JFileChooser,于是在这里想总结一下,JFileChooser设置默认路径的方法。代码如下:package JFileChooser设置默认路径;import java.io.File;import javax.swing.JFileChooser;public class Main { public static ...

2019-05-29 16:21:32 3262

原创 Swing组件:使用JLable中的setIcon(new ImageIcon("xxx.bmp"))无法添加图片,如何解决?

因为最近要使用Swing中的JLable,去添加图片时发现对于图片格式为bmp的图片无法正常显示,对于图片格式为jpg,png的都可以正常显示出来,所以一开始感觉很奇怪,于是上网百度了一下,找到了解决方法,在这里记录一下,防止以后遇见这种问题不再出错。下面就是我最初添加图片的代码:import javax.imageio.ImageIO;import javax.swing.ImageIco...

2019-05-27 20:35:51 3997

原创 Swing组件:Java可视化工具windowbuilder的安装及其简单的使用说明

因为最近在帮老师做项目,需要用java写一个界面,如果用传统的swing组件去写界面的换,那么工作量将会非常大,所以我们就需要一个好用的插件,这个插件就是windowbuilder。在我自己安装这个插件之前,我先百度了一下,windowbuilder是如何安装的,发现有两种安装方式:第一种就是在线安装插件;第二种就是,采取离线方式,也就是先将插件压缩包下载下来。在网上很多教程都是用的,第二种...

2019-05-26 21:39:54 10126 3

原创 数字水印处理的小小心得!!!

因为最近帮老师做一些,有关数字水印的东西,在这里我想记录一下,自己在这次帮老师做数字水印过程中的一些小小心得。在这个项目中,我们做的是基于DCT变换的数字水印,语言方面用的 java 来实现,当中还用到了,JAVACV来处理图形。下面我来说说,我们是如何准备这次数字水印的项目。第一天,老师先叫我们,看看数字水印的相关论文,然后在网上找代码,在下周二的时候集中讨论,讲讲你找的数字水印算法,是如...

2019-05-20 20:37:28 9520 3

转载 安装程序无法打开注册表项 UNKNOWN\Components\…解决办法

原文来自卸载SQL后重新安装出现问题一、使用命令提示符解决1.win+r打开运行对话框,输入cmd,管理员身份进入命令提示符2.执行以下命令secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose3.运行完成重新安装此方法只可解决部分人的问题,当出现下来情况时,表示此方法不起作用,使用...

2019-05-16 18:44:25 4741 8

原创 图像攻击软件:StirMarkBenchmark_4_0_129的下载及其相关的使用用说明

百度云:StirMarkBenchmark_4_0_129提取码:40otStirMarkBenchmark_4_0_129使用的简短说明

2019-04-20 19:22:15 3107

原创 数据结构:一元多项式的乘法与加法运算

中国大学MOOC视屏讲解设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:...

2019-04-10 14:16:12 19458 3

原创 Java基础:HashSet集合(多次添加同一地址对象而引发的问题)

HashSet集合:(简单的介绍一下)对于自定义对象而言,我们要重写 hashCode() 和 equals() 这两个方法。去重的基本原理是:先计算对象的哈希值,如果哈希值所对应的位置上没有 元素,直接,存入集合当中,无需调用equals()方法,如果有,调用equals()比较两个对象的内容是否相同,如果相同,就舍弃,如果不同,就存入。就在今天...

2019-04-03 19:28:40 1675 2

转载 数据结构:时间复杂度&空间复杂度(递归)

转载文章时间复杂度: 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),进而分析f(n)随n的变化情况并确定T(n)的数量级。这里用"O"来表示数量级,给出算法的时间复杂度。 T(n)=O(f(n)); 它表示随着问题规模的n的增大,算法的执行时间的增长率和f(n)的增长率相同,这称作算法的渐进时间复杂度,简称时间复...

2019-04-02 21:22:30 10249 1

空空如也

空空如也

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

TA关注的人

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