自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

StartLine

从零开始

  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 选择排序的学习笔记

一、原理把基本的排序算法简略的看了一遍,可以说选择排序也是最容易理解的一个了举个例子,如果有一个长度为10的未排序的数组我们第一次遍历数组,找到这10个数中最小的数,与第一个数交换(如果第一个数就是最小的数,默认自己与自己交换)而后,我们再遍历一次除了第一个数以外的数,依旧找到这里最小的数,与第二个数交换这样以此类推,我们就会得到一个排序好的数组二、实现其具体JAVA代...

2019-04-26 16:29:26 187

原创 设计模式中观察者模式的学习

今天看到观察者模式,感觉很有意思。我认为其核心理念就是,某个对象的某个动作,随时在被其他对象监视,当进行这个动作的时候,其他对象的状态也随之改变。网上的代码大同小异。规定对于被监视对象的本身,与其他监视对象的观察者,都要去实现某种规则,保证在某种动作进行时,其他观察者都可以随之进行改变。当然既然是实现规则,简单来说也就是实现接口,其每个监视对象所改变的状态,都可以有所不同。一、简单...

2019-04-22 22:13:39 175

原创 设计模式中代理模式的学习

从前在看代理模式的时候,经常是一头雾水,和工厂模式相比,感觉这种模式很高深莫测,但是经过一段时间的开发,甚至用过很多反射模式之后。再来看代理模式,感觉也不是很难理解,以下是我对代理模式的学习过程。对于代理,经过在网上学习了一段时间,也阅读了很多文章,个人总结为在不对对象本身进行修改的情况下,对对象进行功能的扩展即为代理。通过网上的学习,代理一般可以分为静态代理与动态代理假设我们现...

2019-04-19 14:10:16 196

原创 CAS算法个人理解

一、描述在日常的开发中,经常会出现多个线程去同时操作一个变量的情况。在这种情况下,我们经常会将此变量加上synchronized修饰符,来保证同一时间内只能有一个线程去访问修改该变量,但这样其他的县城都必须挂起,效率非常低。所以出现了一种新的思想:也就是CAS算法。CAS算法全名为Compare And Swap 算法,即比较-替换算法。这种算法有三个变量,内存地址的值V,旧的预期值A...

2019-03-06 14:07:00 180

原创 volatile关键字个人理解

一、效果1、保证代码的可见性保证被修饰的变量被修改时,直接跳过修改缓存,直接修改其主存值。主存就相当于计算机中的物理内存,而CPU运算速度很高,所以在CPU中为了同步数据,出现了CPU高速缓存。举例说明,如下图代码:int a = 0;//线程1a = 1;//线程2a += 1;每个线程有各自的内存空间,当变量a没有被volatile修饰符修饰时,每一个线程都会...

2019-03-06 10:48:27 131

原创 Kafka+Storm+Hbase 流处理Demo

运行环境:三台Ubuntu16.04Storm 1.2.2Hbase 1.4.9Kafka 2.11-2.1.1 所需的依赖:<dependencies> <dependency> <groupId>org.apache.storm</groupId> &l...

2019-02-20 15:24:12 386

原创 正向代理与反向代理的学习笔记

在做JAVA WEB开发的过程中,经常要使用到Nginx来完成一个称为反向代理的工作,一直也没去细究反向代理是什么,更没有去了解正向代理是什么,经过简短的学习来记录一下自己对两者的理解。 一、正向代理根据网上的资料,我个人的理解为,正向代理最大的用处就是一个所谓的跳板。一个最简单的例子就是“翻墙”。当我们想要去浏览类似google这种网站的时候。我们再普通的直连网内是无法访问到的。...

2018-11-27 10:37:41 117

原创 解决Springboot的WebSocket组件(即@ServerEndPoint)无法@Autowired的问题

最近有一个需求,前台使用WebSocket请求后台,后台给其他页面推送数据。有这样的需求,势必要在我编写的WebSocket层去调用我的Service层去访问数据库,于是我就写出了如下的代码:@ServerEndpoint(value = "/websocket")@Componentpublic class MyWebSocket { private static Con...

2018-11-09 15:39:12 13341 10

原创 使用MD5加密确定前台传输数据是否有效

1、前台数据传输当前台给后台传输数据时,除了最基本的参数,还需要传输一个根据参数以MD5形式生成的一个签名。例如参数为:{"a" : 1, "b" : 2, "c" : 3}那么我们将数据拼成一个如下的字符串a=1&b=2&c=3但是除了这些参数,我们还要在前后台统一一个key,作为混淆例如使用"key" = "jinx",也将其拼入字符串结果为

2018-10-25 08:58:04 956

原创 关于Mybatis的缓存机制

一、问题原因这些天在与朋友编写业务逻辑的时候,发现了一个问题。当我们修改一个数据时,其他的数据也在跟着改变,研究了好久,才发现从地址上看,这些对象其实都是一个东西。但是他们都是从数据库中查询出来的,这个时候我们意识到Mybatis的缓存机制进行了一下简单的研究。二、缓存分类从网上我们了解到,Mybatis的缓存分为两层,一级缓存与二级缓存。一次缓存是基于SqlSession的,在同...

2018-10-18 11:22:36 118

原创 Lambda表达式个人理解

一、学习背景最近看了许多较新的教学视频,其中的讲师们在许多代码中使用了Lambda表达式,初学者看来觉得非常难以理解。这导致整个教学视频无法继续看下去。我在当时也是这个感觉,所以去简单的学习了一下Lambda表达式,在这里说一下自己对于Lambda表达式的理解。二、简述Runnable runnable = () -> { System.out.println("tes...

2018-09-11 17:32:07 831 2

原创 SpringBoot使用Redis(Jedis)实现消息队列

一、使用原因我们在JAVA开发的过程中有的时候我们会有这样一个需求:两个进程之间进行交互。这也就涉及到了一个消息队列的概念。他主要是用于让请求方(生产者)将其需要告知被请求方(消费者,订阅者)的消息放入一个中间件中,被请求方将会去监听这个中间件来获得需要的信息。我们知道,现如今的消息队列产品有很多。例如:RabbitMq,ZeroMq,ActiveMq,Redis等等。最近我在进行...

2018-08-26 13:17:39 3433 1

翻译 Springboot使用SwaggerUI启动报xmlModelPlugin找不到的解决方案

遇到这种情况一般是因为使用者正在使用JDK9及以上版本所造成的。JDK9引入了模块的观念。所以他对JDK6,7,8的有些API都进行了一定的抛弃。不在整合在java.se的模块中。但是这些模块暂时没有被删除,他们只是没有被启用而已。 方法一、在项目启动时加入 --add-modules java.xml.bind 后缀。但是这种方法只能在JDK9或者10去使用,如果以后JDK降级的...

2018-08-17 12:34:18 1520

原创 Linux系统下Java运行Process时,获取到其PID方法

某些方式需要运用到JDK9 问题背景有时我们会调用控制台命令,来进行某些操作。而这些操作的进程有些是需要手动Kill掉的,那么问题来了,我们如何得到他的PID呢 解决方法(前两种有缺陷)1、使用 ps -ef  命令获取所有PID,进行筛选当我们运行ps -ef 的时候,会显示出一个列表,上标包括UID   PID   PPID   C   STIME   TTY ...

2018-08-16 13:00:05 5464

apache-hive-1.2.1-bin.tar.gz

Hive 1.2.1 由于网上的资源基本都不可以用了。所以去找了一个传上来

2018-12-29

空空如也

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

TA关注的人

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