自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 JAVA5.2.2方法的参数传递机制

疯狂的JAVA讲义之5.2.2JAVA方法的参数传递方式:值传递(将实际参数值的副本传入方法内,而参数本身不会收到影响)一、基本类型的值传递public class Test { public static void main(String[] args) { int a = 10; int b = 20; System.out.println("执行set方法前的a="+a+"----b="+b); setAb(a,

2021-07-21 10:23:00 135 1

原创 JAVA3.4.1记录之基本数据类型byte为啥是-128到127?

最近忽然发现JAVA的基础忘得差不多了,结果就拿起了JAVA的疯狂讲义重头继续开干。看到基本数据类型,byte:一个byte类型整数在内存里占8位,表数范围是-128~127?而8位分为符号位(最高位)和数值位(后七位),符号位中0表示正数,1表示负数。1111 1111~0111 1111?去除这不是-127到127?查阅网上资料:原码是常规用到的二进制码:1111 1111~0111 1111 (-127~127);1111 1111 ~1000 0001(-127~-1)反码.

2021-07-19 23:38:57 154

原创 redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool

1、哪些内存区域需要GC?首先需要判断对象是否存活。1)、引用计数法,虚拟机分配一些额外的内存空间进行技术,效率搞笑,而java主流的虚拟机没有选用这种方式来管理内存;因为单纯的引用计数器很难解决对象之间相互循环引用的问题。...

2021-06-22 18:02:32 2826

原创 illegal remote method encountered: public abstract void

Exception in thread "main" java.rmi.server.ExportException: remote object implements illegal remote interface; nested exception is: java.lang.IllegalArgumentException: illegal remote method encountered: public abstract void com.rmi.OrderService.ordered(.

2021-03-26 19:04:02 581 1

原创 HashMap

HashMap 他的数据结构:数组、链表、红黑树 HashMap的特点: 可以快速存储 可以快速查找 大小可伸缩 Hash的算法 调用的map的key的hashcode ^ (hashcode >>> 16 ) 保证相对足够的散列 Map的数组下标如何计算 数组默认大小为:16 数组下标的计算方式:hash对数组大小求余。而论计算速度:hashmap内部采用的是位运算方式:(size - 1)&hash

2020-09-17 17:07:09 93

原创 1、JVM的基础学习

JVM以前觉得是个很高深的内容,觉得自己是个菜鸡不用学,只要在业务上会Ctrl C +V就行了。现在工作了几年了如果还是只会这,我不被淘汰谁被淘汰?其实JVM也可以解决工作中的问题,之前业务里面写递归,导致栈溢出,看着报错信息一脸懵逼,无从下手。我做了什么?会导致栈溢出?不仅如此,现在的面试造火箭也是必问的内容。之前招银的面试问了一个,一个对象的创建,它的对象头里面都包含什么内容????一脸懵逼???于是下定决心,JVM必须搞明白。找个PDF开始读起,走你。写博客不为分享,只为自己纯手工的写一遍,代码走一遍

2020-09-14 14:00:36 99

原创 Spring Bean的生命周期理解

百度输入:spring bean完整生命周期随便取一个查找结果截图:结果都大同小异,这个解释就是从创建bean开始的。挨个研究一下这些点的描述到底是怎么来的。下面所有的代码跟进位置在最后流程图1、bean对象的实例化spring中bean实例化之前会根据beanName将bean包装成一个RootBeanDefinition,实例化该bean依赖的其他bean;根据RootBeanDefinition和beanName包装成BeanWrapper,BeanWrapper中包含该bean的

2020-09-02 12:25:13 139

原创 线程并发处理框架ForkJoin

ForkJoin:分而治之、工作窍取分而治之:字面理解就是将一个任务分开治理,当一个任务达到某个需要分开治理的条件时,将该任务分成不同的小任务进行执行,最后汇总。采用RecursiveTask进行同步执行任务并返回一个数组和package com.example.demo.concurrentlearn.forkjoin;import java.util.Random;import java.util.concurrent.ForkJoinPool;import java.util.c

2020-07-03 00:59:32 104

原创 redis的基本使用方法

1、Redis是什么Redis最直观的认识就是个key-value数据库,可以存储多类型的数据。百度百科解释:Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。2、Redis有啥用Redis安装于硬盘之上,数据存储在内存之中。且redis在执行命令时是单线程的,又是存内存访问,没有线程竞争,没有CPU的资源消耗,访问速度快啊。项目中为.

2020-06-22 21:41:08 5834

原创 使用DWR进行消息推送测试

DWR开发DWR介绍DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。为何使用到DWR场景:当用户1添加一条信息,用户2对该条信息进行处理,当处理操作结束时,要及时提醒用户1该条数据已经被更新。现在已经改为web socket了,文档是3年前编辑的,留存一下DWR开发流程首先在项目内加

2020-06-22 10:13:35 211

原创 linux安装redis

安装wget以及后面redis需要用的插件环境 yum -y install wget yum -y install gcc yum install tcl yum -y install vim* yum install firewalld 快速查找安装redis 找个安装地方:cd /usr/local/ 建个redis放的地方:mkdir redis 去redis文件夹下redis:cd redis 下redis: wget http://download.redi

2020-06-11 10:03:27 120

原创 idea常用插件

1、lombok : 减少基本的get set toString 等;2、mybatis plugin : 生成xml,以及mapper跳转至xml3、alibaba java coding guideline : java代码规范,提升代码编写能力4、key promoter X : 使用鼠标时,提示快捷键;加深键盘熟练度5、camelCase:大小写,驼峰转换6:jrebe...

2020-01-04 13:47:52 80

原创 设计模式之模板模式

简单的理解模板模式,也就是有一个抽象的父类,提供模板方法,但是模板方法中调用的方法为抽象方法,由子类来实现。模板父类:package com.example.data.abstractTemplete;/** * @Author: wuml * @Date: 2019/12/9 16:10 * @Version: 1.0 * @Description:制造汽车的模板方法 *...

2019-12-09 18:28:46 66

原创 java-显式锁(Lock)

在谈及显式锁的时候,肯定会将隐式锁(synchronized),又称内置锁进行对比。首先记录下synchronized和Lock的区别(synchronized是java关键字,而Lock是并发包中的一个接口,直接看它的接口就知道了):Lock:1、Lock可以在获取锁的过程中中断;2、Lock可以尝试获取锁,并且可以设置超时机制;3、Lock接口中的实现类有读写锁,所以在...

2019-11-28 16:58:06 147

原创 java原子操作(CAS)

在看了有关的CAS介绍之后,记录一下CAS的相关知识,作为再查阅。java利用处理器的CAS(Compare And Swap)指令,循环执行数据比对,直到成功就停止循环。实际过程:如果多个线程要对一个变量A(Integer)进行修改,假设变量A初始化值为1,此时线程1要对A进行修改,修改过程,线程1通过传入期望值和修改值,与变量A的初始化值进行匹配。期望值与初始化值匹配成功就将A的值...

2019-11-28 10:12:26 144

原创 springboot中的日志相关记录理解

以前使用日志都是直接copy一个logger.error(info/debug)等的直接调用即可,根本没有去理解,自己项目中是如何集成日志模块的,在cruding的过程中,学习一下其中的实现原理。 以前对SLF4J、Logback、Log4j不怎么理解。百度一番,找到一个解释得比较直白的解释: SLF4J和Logback和Log4j和Logging的区别与联系 知道区别之后开始...

2019-11-21 16:35:44 186

原创 记一个与第三方企业对接的身份验证流程

最近要和第三方企业进行数据对接,就研究了一下身份验证(数据加解密)的事情;记录一下,最后的验证过程;一、首先是我包装数据发送至第三方企业。1、采用RSA算法生成非对称加密公私钥,双方交换公钥;2、动态生成对称密钥,采用的是SM4加解密(AES也OK);3、对需要传递的报文通过对称密钥加密,然后BASE64编码;4、用对方的公钥对对称密钥进行加密,然后BASE64编码;5、用...

2019-11-15 11:53:22 855

原创 记录一下java.security.NoSuchAlgorithmException: No such algorithm: SM4/ECB/PKCS5Padding

最近在做SM4加解密时,采用main测试数据的时候,一直报错:原因:添加依赖的时候错误:添加的依赖的时候 我一直选了14,结果一直报错,看了lib之后,14中的BouncyCastleProvider没有支持SM4,而JDK5以后支持了SM4就因为撸错版本。...

2019-11-12 16:47:19 18714 10

原创 1、xshell向linux上传文件

1:通过xshell连接需要上传文件的Linux主机2:输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行 yum -y install lrzsz命令进行安装。当前用户为非root用户时,尝试添加sudo相关文件,临时使用root权限;或者直接切换到root用户执行3:安装成功后,输入rpm -qa lrzsz 确认是否正确安装4: 使用 rz ...

2019-11-06 10:08:09 153

原创 2.spring中注册bean的几个组件(conditional,import,beanfactory)

一.conditionalSpring4提供了一个更通用的基于条件的Bean的创建,即使用@Conditional注解。@Conditional根据满足某一个特定条件创建一个特定的Bean。实现方式:自定义一个类实现org.springframework.context.annotation.Condition接口,在其matches方法中写自己的校验方式package com....

2019-10-17 15:55:41 160

原创 git常规使用

Git Bash Here→git clone 地址→将要上传的代码移至clone的文件夹中→命令cd 到clone的文件夹→git add .(添加文件夹内所有文件)→git commit -m "你的提交信息"→git push -u origin master→(输入你的gihub账号密码)→OVER...

2019-10-17 11:01:58 97

原创 记一次Acunetix扫描出现SSL certificate invalid date

最近项目在做安全扫描时,出现这样一个问题,经查是采用https访问,且是自己生成的证书过期了,之前做证书的同事离职了,所以自己记录一下生成证书的过程。 目的是为了过这个扫描,所以采用自己生成证书。我是windows环境下生成的第一步:下载openssl,下载的链接:http://slproweb.com/products/Win32OpenSSL.html我下载的是64位的:...

2019-09-11 17:56:28 5396

原创 数据结构1.8 映射

1、映射:顾名思义,就是一个值对应到另外一个值,属于一对一形式,映射在生活中也有很多体现,类似与身份证号和人属于一对一的映射,车子和车牌也是映射,而在开发中,比如:数据库Id对应一条数据,也是属于映射。官方一点的释义:储存数据结构,根据key对应value;写一个基于链表的映射来练习一下原理package com.study.map;/** * Created by Admin...

2019-08-22 22:32:16 141

原创 数据结构1.7:链表实现栈和队列

在链表中,向链表的头节点新增和删除操作都比较容易(很快找到节点的上一个节点和下一个节点),而向链表的尾节点增加元素和删除元素的话时间复杂度就达到了O(n)了,增加时,必须去遍历一遍链表找到尾的前一个节点,删除也类似;链表来做栈的话很容易就实现了,入栈在头节点插入,出栈也从头节点取出;链表来做队列的话:入队和出队总会有一端时间复杂度达到O(n),所以采用链表来做队列时,需要引入一个尾节点,当...

2019-08-14 13:30:44 113

原创 数据结构1.6:链表的自己实现

链表的百度百科的解释如下:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。下面是自己的实现:package com.centnet.an...

2019-08-13 13:32:22 108

原创 数据结构1.5:循环队列-学习

百度百科对于循环队列的解释:为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。循环队列是把顺序队列首尾相连,把存储队列元素的表从逻辑上看成一个环,成为循环队列。通过学习视频,并自己手写了一下循环队列package com.study.queue;import j...

2019-08-11 23:03:10 154

原创 数据结构1.4:队列-学习

队列的百度百科概念:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列作为常用的数据结构之一,生活工作体现的地方及其多,食堂打饭属于队列,医院看病属于队列,工作中的消息队列;在工作使用的过程中,现在需要去自己了解一下队列的...

2019-08-11 11:19:18 64

原创 数据结构1.3:栈学习--

引用百度百科的栈解释:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。下面学习使用数组来实现一个简单的栈,不涉及线程安全...

2019-08-11 10:22:23 88

原创 数据结构1.2:动态数组+复杂度的分析

1、动态数组:在工作中使用数组时,经常会存在一个问题,在定义数组时,必须要进行容量的写死才能定义一个数组,在1.1中学习自写封装数组时,不能进行动态的扩容,所以这一篇就学习动态数组,做法继承1.1的封装数组来实现add 和 remove的扩容与缩容,达到节约空间的作用;package com.study.arr;import java.util.Random;/** * 动态数组...

2019-08-10 22:09:59 437

原创 数据结构1.1:数组之二次封装

1、java的数组在项目中使用时,有时候不是很方便,比如在数组添加的时候,必须根据数组的索引设置值,学着自己来做数组的封装,其实在java.util包中很多也是进行的封装,实现泛型的数组package com.study.arr;import java.util.Random;/** * Created by Administrator on 2019/8/9. * 数组优点:能...

2019-08-09 22:25:49 107

原创 mysql创建视图并添加只能查看视图的账户

使用mysql client进入mysql 第一行输入数据库 root的密码 输入use mysql; 创建视图 创建数据库视图的方式:选中库,右键,点击命令列界面,输入下方的视图脚本 创建案件的视图CREATEVIEW `视图名称`AS select id,colum1,colum2,colum3,colum4,colum5from test; 添加一个可以查...

2019-07-29 14:46:07 4618

原创 2。线程相关的关键词(synchronized,volatile,ThreadLocal)

1、synchronizedsynchronized分类锁和对象锁;package com.study.syn;/** * Created by Administrator on 2019/7/28. */public class SynTest { public synchronized void syn1(){ try { ...

2019-07-28 22:41:04 405 2

原创 1.spring组件学习:bean、ComponentScan、scope、lazy

自己在对spring学习时的一个记录,方便自己后面查阅。1.spring的组件,在项目中使用了很久的spring,但是对spring中的一些组件不是很熟悉,下面一个一个的记录一、bean在基于spring的应用中,应用对象生存于spring容器中;spring容器负责创建对象,装配它们,配置它们,并管理它们的整个生命周期。以上描述的对象就是bean。spring的常用配置bean的...

2019-07-27 20:40:24 749 1

原创 1-适配器模式

以前也看过一些设计模式,但是都是看了这个忘了那个,过了一周每个都忘记了,所以在项目实际运用中,个人记录下使用到的相关的模式需求:公司的项目之前一直有一个发送短信的接口,而发送的方式是采用的联通的接口发出去的,现在项目安装的地方更换,客户要求使用移动的SDK来发送短信,发送短信的接口不想去修改,根据这个业务需求,就只有让之前的发送短信的接口来适配移动SDK的短信接口;(当然实现的方式有多种,这儿...

2019-07-27 20:39:19 106

原创 1、线程的多种实现方式和终止

一、线程的启动方式1、实现Runnable方式(线程可以继承其他的类)package com.study.threa;/** * Created by Administrator on 2019/7/27. */public class Threads implements Runnable{ public void run() { Thread.cu...

2019-07-27 13:17:08 121

原创 获取本地图片,前端img中的SRC直接调用地址,显示文件

@RequestMapping(value = "/getCodeFile",method = RequestMethod.GET)public void getFile(HttpServletRequest request , HttpServletResponse response) throws IOException { OutputStream outputStream= ...

2019-07-16 11:45:52 11225 3

原创 采用Arrays.asList后对list进行add操作报异常:UnsupportedOperationException

大清早的来了,把周五运行的代码一波,出现异常操作:把一个用逗号分隔字符串split成一个数组,我想转成list结果就来了一波Arrays.asList,而后又想对生成的list做添加,采用了add操作,结果就抛异常了----结合网上查阅加原来看1、Arrays.asList生成的list是否和我们平时使用的new ArrayList是否一致 /** * Re...

2019-07-08 10:03:08 939

原创 2-Mybatis-熟悉mybatis的使用流程以及所需的配置文件

1、数据库的配置文件(就是jdbc连接数据库的几个配置)dev-db.propertiesdriver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/mybatis_db?useUnicode=true&characterEncoding=utf8&allowMultiQueries=trueusername...

2019-07-07 23:05:26 128

原创 1-mybatis-JDBC

1、学习mybatis原理的过程中,必须得先了解mybatis是基于什么来做的,现在先来温习重写一下,在大学时期使用过的JDBCpackage com.example.jdbc;import java.sql.*;/** * Created by Administrator on 2019/7/6. */public class JdbcTest { static S...

2019-07-06 21:40:42 130

原创 spring的声明式事务

1、首先建一个类 配置好数据源和jdbcTemletepackage com.example.springTransaction;import com.alibaba.druid.pool.DruidDataSource;import org.springframework.context.annotation.Bean;import org.springframework.cont...

2019-06-30 22:21:40 91

空空如也

空空如也

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

TA关注的人

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