自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

窗外的羊

记录点滴技术,成就幸福人生。

  • 博客(40)
  • 资源 (12)
  • 收藏
  • 关注

原创 java中使用javax.validation校验Bean的合法性

一、简单介绍validation bean java后端在与前端对接或者接口对接的时候需要对参数进行校验。 validation bean 是基于JSR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接口,没有具体实现.Hibernate Validator是一个hibernate独立的包,可以直接引用,他实现了validation bean同时有做了扩展。二、引入方法和校验方法1、在pom.xml中引入依赖<!-- 参数校验器 --><dep..

2020-07-13 00:15:28 3269 3

原创 maven项目发现有jar包下载不下来

相信有很多使用maven的童鞋很静很经常遇到的一个问题就是即使自己配置的仓库地址里面存在某个jar包,但是就是死活下不下来!看看本篇博文吧?看看它是否能够给你帮助,如果还不能解决的话,请联系我!...

2022-08-19 00:13:35 3475 1

原创 使用Synchronized和Atomic控制并发对比

按照我们往常的经验,我们看到多线程就可能习惯性地将Synchonized往上怼,Synchronized中使用了悲观锁思想,它是可重入锁,实现了多线程的原子性、可见性保证了线程安全,但是有些场景下使用Atomic原子类往往会取得更好的效果,因为Atomic原子类使用的是CAS无锁机制,更加高效地帮助我们实现多线程并发工作,下面是两个代码对比,看到执行结果,你可能会大吃一惊!目录一、Synchronized实现多线程并发二、使用AtomicInteger原子类实现多线程并发三、效果对比一、

2021-08-19 13:23:01 542 2

原创 java多线程-使用Future获得多线程的返回值

我们在多线程中很多时候会需要获得线程的返回值,但是多线程又不像普通方法一样,可以直接获得返回值,那么我们应该怎么获得返回值呢?一、使用Callable获得返回值import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;public cla

2021-08-18 22:22:20 3214

原创 四种最常见的线程池代码示例

import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;/** * 线程池 * newCachedTheadPool 可缓存线程池,如果线程池长度超过处理需要,可以灵活回收空闲线程,若无可回收,则新建线程 .

2021-08-18 07:53:44 1848

原创 简单队列(非阻塞和阻塞队列)

目录一、非阻塞式队列二、阻塞队列三、阻塞队列与线程池的关系1、队列遵循先进先出的原则FIFO2、阻塞队列最大的好处就是能防止队列容器溢出,防止数据丢失3、非阻塞队列是无界的,使用offer来增加数据,poll来取出数据一、非阻塞式队列简单代码示例:import java.util.concurrent.ConcurrentLinkedQueue;public class QueueTestOrder { // 阻塞队列最大的好处就是嫩巩固防止队列容器溢

2021-08-17 23:10:24 218

原创 多线程中生产者和消费者的消费顺序控制

本文内容来自互联网,如果侵权,请联系本人删除,会在获得信息后及时删除,谢谢!实现生产者和消费者的消费同步,不会出现名字和性别混乱的结果:直接上代码:/** * 多线程的生产者和消费者 */class Res { // 姓名 public String name; // 性别 public String sex;}// 生产线程class InThread extends Thread { public Res res; .

2021-08-17 13:09:38 212

原创 通过synchronize的同步代码块线程安全解决火车票超卖问题

出现问题的原因:平时自己测试代码需要用到Linux就自己用VMware安装了一个Linux虚拟机,预分配l了18G容量,近期由于安装了很多大数据组件,导致磁盘炸了,所以需要扩容,经过一番搜索和实践之后终于成功扩扩容,记录如下。过程分析:总体思路大概是:1、切换到系统管理员账号;2、首先保障物理空间的大小,即你的硬盘是可以提供那么大的空间;3、新建一个目录,用于挂载你的...

2021-08-17 07:38:34 243 3

原创 多线程中使用Syschronize关键字解决多窗口火车票超卖的问题

如题目所言,如果没有使用Synchronize关键字,往往会导致火车票超卖的问题,这个问题可以拓展至转账的问题也是一样,直接展示代码,应该可以看明白,就是在关键方法前面加了synchronized关键字。另外synchronize是可重入锁,无需单独解锁import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 使用Synchronize关键字解决多窗口火车票超卖的问题 */

2021-08-17 07:26:05 230

原创 java多线程顺序执行T1,T2,T3代码演示

这个估计是多线程的基本操作吧,可能是面试中常常被问到的问题,如何使多线程顺序执行T1,T2,T3,看起来很无聊的问题,却是能够包含多线程的核心内容,代码演示如下:import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 如何顺序执行T1,T2,T3 */public class OrderThread { public static void main(Strin

2021-08-16 23:19:06 287

原创 双重检测锁代码

双重检测锁是单例模式中的重要一个方式,记录如下:/** * 双重检测锁代码 */public class DclSingleton { private static volatile DclSingleton dclSingleton = null; public static DclSingleton getDclSingleton() { if (dclSingleton == null) { synchronized (DclSi

2021-08-16 23:16:08 173

原创 ThreadLocal代码演示

给每个线程提供局部变量,解决线程安全,直接上代码演示package com;class Res{ public static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>() { @Override protected Integer initialValue() { return 0; } }; pu

2021-08-16 23:14:12 76

原创 python中对dict组成的list进行去重

直接上例子代码 def set_dict(self): print('------start set_dict') result_list = [] dict1 = {'name': 'zhangsan', 'long': 172, 'description': '高的人'} dict2 = {'name': 'lisi', 'long': 172, 'description': '高的人'} dict3 = {'n

2021-02-18 22:53:02 2941 2

原创 【求助帖】存储过程执行loop循环过程失败

直接上代码:-- 使用loop和level循环delimiter $drop procedure if exists pro_test8;create procedure pro_test8(in n int)BEGIN declare totle int default 0; c:loop set totle = totle + n; set n = n - 1; if n <= 0 THEN level c; end if; end loop c; se

2020-06-25 17:50:33 457 1

原创 git常用命令总结

1、从远程仓库拉取代码 a.普通拉取: git clone gitPathTODO b.指定分支拉取: git clone -b dev_bugTODO gitPathTODO2、查看本地文件修改状态 git status: 1:Untracked: 未跟踪,一般为新增文件,此文件在文件夹中, 但并没有加入到git库, 不...

2020-04-06 11:18:53 135

原创 idea离线安装lombok插件

一、前言 众所周知,lombok作为一款优秀的插件,可以大大增加你开发的效率,下面我来介绍一下怎么在idea中离线安装lombok插件,即使你没有梯子,也能够很好地享受idea带来的开发乐趣二、安装过程1、确认安装版本打开你的idea神器,然后点击标签栏最上一栏的最后一个 help,然后选到最后面的about,可以看到下面的版本号,如我这个是2019.12、下载对应版本的...

2020-03-29 22:41:40 4793

转载 Windows下MySQL的安装

MySQL简介:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不...

2020-03-29 21:17:08 351

原创 使用fastjson序列化时,有的属性为null出不来

JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(ABCBean, SerializerFeature.WriteNullStringAsEmpty));Fastjson的SerializerFeature序列化属性--来自oschina bfleeee博客QuoteFieldNames———-输出key时是否使...

2019-09-16 09:47:59 1434

原创 mysql统计枚举值

今天遇到一个问题,就是统计评分的内容。 大体的坑是,统计的时候,我们都是用是使用:avg()求平均数sum()求和count(1)取得个数但是对于一串枚举值,如果评分是:'0','1','2','3','4','5'假设有两条数据,一个是得了5分,一个是得了4分如果使用上面说的那三个函数的数,得到的平均分是5.5,是错误的具体的原因是,直接取得该字段...

2019-08-30 18:25:55 1135

原创 SpringBoot或者是Tomcat启动时,提示端口被占用的问题

在Windows环境下,如果启动项目,发现自己的端口被占用了,怎么办,教你两个语句,解决这个问题: 1.进入cmd 输入(8989是启动服务时被禁止的端口) netstat -ano|findstr 8989 2.查到端口号对应的进程号。输入 taskkill /f /t /im 进程号 3.完成,重启服务即可 通过上面的两行语句,就可以...

2019-08-06 09:41:57 877

原创 SpringCloud项目中解决 line number info is not available in class 报错

今天在项目运行中,想整个debug来看下数据,结果出出现了一个禁止符号,提示我line number info is not available in class的问题,图标如下,可以对比一下:一、解决问题 网上很多的帖子说我是禁用了debug,但是事实并非如此! 我先说下我是怎么解决:1、清理原本的.class文件打开 【Maven菜单】,选择 对应报错项目...

2019-08-05 11:49:37 7883 4

原创 java后端封装标准返回类到前端

在日常开发中,我们后端和前端最好是约定一个数据格式,用于后端封装好数据,然后返回前端,前端就可以很简单地就解析了,下面是我总结出来经常会那么用的模板,可以参考一下:1、创建对象直接在实体包下面新建一个ReturnParam对象,对象内容包括了是否成功标记、list结果集合、total总数(用于前端分页)还有可拓展的其他对象,直接看代码吧:import java.util.List...

2019-08-03 10:54:37 6305

原创 解决Linux系统命令无效

先说下事情发生的场景:前些天为了在linux上安装git,使用二进制的形式安装,编译后需要修改系统的变量,然后我又对这方面不是很熟,结果就把所有的系统变量给GG了,结果就出现连ll、ls、vi、vim等的基础命令都用不了的场景解决思路:出现了这个问题,意味着要修改系统变量都会有问题,因为用不了vim编辑器,所以思路如下:1、使用echo $PATH,查看是否是该类问题2、...

2019-07-14 10:46:22 2444

原创 Hive建表时指定分隔符或使用多字符分隔

不知道你是否会有会这样的苦恼,就是从hdfs或者file中导入数据到Hive建数仓的时候,因为数据是数据流前段的小GG用特殊符号分隔的,然后导致你导入数据时一脸蒙圈? 这篇教程可能会帮到你。 首先我们明确,我们是在建表的时候就指定了导入数据时的分隔符的,建表的时候会有三种场景需要考虑: 1、正常建表(default); 2、指定特定的特殊符号作为分隔符;...

2019-06-04 11:47:12 34953 8

原创 使用DataGrip连接Hive

在使用这个工具的时候,遇到了各种坑,写下来,防止后面忘记。1、首先你的看一下你的Hive是什么版本,具体操作是到你的Hive安装目录下,然后进入lib文件夹,看到里面的hive的jar包就可以看到了:2、打开DataGrip软件,创建一个新链接:这里面的一些参数如下:Driver files:选择对应你Hive版本的jar包,我这里有个高版本兼容低版本的j...

2019-06-01 12:46:49 7833 9

原创 将json文本数据转成自己想要的格式

//取得要转换的目标格式的类型Type type = new TypeToken&lt;Map&lt;String, List&lt;TestBean&gt;&gt;&gt;(){}.getType();//根据上面指定格式转换成mapMap&lt;String, List&lt;TestBean&gt;&gt; maps = JsonUtil.fromJson(jsonData, ty...

2019-02-14 10:23:35 2508

原创 启动SpringCloud服务报错The port may already be in use or the connector may be misconfigured

在SpringCloud体系中,经常会遇到因为一些情况需要使用直接关闭某个服务的情况,然后你再次启动时很可能会提示:The port may already be in use or the connector may be misconfigured其实出现这个问题的原因很简单,就是原本的服务没有正确地被关闭,然后就会出现刚才的那些报错,所以我们要做到就是将原本占用这个端口的进程关闭即可...

2018-12-17 16:54:41 2141 1

原创 SpringBoot启动类的注解

  工作中刚开始接触了springCloud微服务的一整套,其中有个启动类***Application.java上面有一些注解,不是特别清楚,所以就特地搜索了一下,记录下来。 1、通常会用到的注解如下://例子代码@SpringBootApplication@EnableFeignClients@EnableEurekaClient@MapperScan("***.***.t...

2018-12-17 11:54:51 23722

原创 springboot无法自动注入setSqlSessionFactory的问题

出现这个问题是因为&lt;mybatis-spring取消了sqlSessionFactory或sqlSessionTemplate的自动注入,属于系统缺陷,所以需要自己手动注入://用于注入sqlSessionFactory@Repositorypublic abstract class AbstractDaoImpl extends SqlSessionDaoSupport { ...

2018-12-13 09:24:41 7663 1

转载 【Eclipse插件开发】TreeViewer的简单使用

直接上代码,至于里面的内容还是比较容易看懂的,有兴趣的可以自己去探索,附上我的参考地址,侵删。http://www.cnblogs.com/huqingyu/archive/2008/04/10/1146209.html 一、构造一个树形结构的数据出来,这里选择国家、城市、人来构造一个树形结构,代码如下:1,定义一个接口package model;import java....

2018-10-20 22:30:30 2193 2

转载 【Eclipse插件开发】TableViewer的简单实现

  最近在开发关于eclipse插件的相关,中途遇到很多坑,下面这个例子是目前我找到的比较简洁的关于tableViewer的例子,记录下来,分享给广大网友,本来想说明出处,但是由于网上的很多原创其实并非原创,我也就实行“拿来主义”分享给大家了。一、创建表格分为三个步骤,大概讲一下。(后面有完成的代码,可以直接复制黏贴使用)1、第一步:定义一个TableViewer对象.//首先定义一个...

2018-10-20 16:24:25 2051

原创 Eclipse插件开发——常用的拓展点的作用以及参照网址

在Eclipse的插件开发中经常会用到的拓展点,整理如下:                        1、org.eclipse.ui.ide.markerImageProviders                            作用:        markerImageProvider扩展点是指定定义插件中标记类型的图像的点。                参考资料: ...

2018-09-26 16:39:48 1380

原创 05、如何在CentOS下安装zookeeper-3.4.10

1. 创建 /usr/local/services/zookeeper 目录mkdir -p /usr/local/services/zookeeper 2. 进入到 /usr/local/services/zookeeper 中cd /usr/local/services/zookeeper 3. 下载 zookeeper-3.4.10.tar.gzwget h...

2018-07-26 07:16:42 155

原创 03、CentOS如何使用解压的方式安装JDK 1.7

  前段时间,我已经写了关于如何安装jdk 1.7的教程,但是后面因为要用到一些配置的java环境的东西我找不到,就索性重新装一个解压版的,方便查找,于是就有了这篇博文:   一、下载JDK  我的意思很简单,像这类引用类的文件,不是工具类的文件就最好是从官网上下载,JDK下载路径:点击直达Oracle官方路径这里选择你要的版本,我是习惯下载1.7的,就点了1.7,然后选择...

2018-07-25 13:14:18 222

转载 04、CentOS 6.5如何安装Mysql数据库

CentOS 6.5 上面安装Mysql,我遇到了很多坑,查阅了很多的博文都不能够正确的安装,都是综合了各种途径之后才勉强安装成功,将我的经验教训写下来,希望能够帮到有需要的朋友。 1. 查看有没有安装过mysql yum list installed mysql*rpm -qa | grep mysql*如果上面的是有查出安装的痕迹,就使用下面的代码卸载:yum re...

2018-07-24 14:10:57 222

原创 02、CentOS如何安装Tomcat

前提条件:服务器环境是CentOS 6.5 1、搜索可用的Tomcat版本:    yum search tomcat 2、安装我这里选择了Tomcat6,所以使用了下面的安装命令:  yum install tomcat6刚才在安装的时候没有及时截图,不过一般都是可以安装成功的,可以使用下面的命令来查看你安装后的目录分布:  rpm -ql tomcat6...

2018-07-16 18:03:11 131

原创 01、CentOS如何安装jdk环境

前提:为了避免误操作,我声明一下我的操作环境:CentOS 6.5 步骤如下:1、首先检查你的服务器上面是否已经安装了jdk环境,如果已经安装就卸载:  查看java版本:java -version  查看jdk信息:rpm -qa|grep java如果有的话卸载后继续下面的操作; 2、查看java可选版本列表:  yum -y list java*...

2018-07-16 17:37:02 122

原创 Eclipse中安装jRebel热部署教程(带破解jRebel插件和破解jar包)

1、首先下载本教程附件jRebel压缩包;2、打开Eclipse(3.6版本+),然后选择安装新软件:3、选择Add,然后出现name可以随意填,后面的Location,选择我附件中的解压后的jrebel.zip包,然后一路点击next完成后重启即可,这里有个注意事项,就是下载的路径和压缩包最好是英文名,截图中命名为错误示范,不要模仿:4、破解:将附件中解压后的jrebel.jar和jrebel....

2018-07-09 00:44:14 9575 13

原创 Web项目Eclipse中Tomcat配置虚拟路径无效的一种情况及其解决方案

  由于只是记录问题和分享解决方案,我就直接发截图了,真正原理的话我真心不懂。1、首先看到tomcat是来自C盘下面的:2、在对应的盘符下面的对应的tomcat下面添加“虚拟路径”映射到本地磁盘,保存:3、访问目标地址:http://192.168.0.121:8080/download/roadExcel/road.xls报了404找不到4、解决问题:原来不能直接在盘符那里配置,需要在项目里面配...

2018-06-15 18:32:02 1212

原创 使用Junit4进行单元测试

  很少写博文,因为之前很多都是转载的,感觉没啥意思,最主要是没有多少是自己创作的东西,这个例子是我参考很一些教程,然后完全自己写出来的,比价有参考价值,写出来跟读者分享一下,也方便以后我自己找。直接进入正题吧:1、在需要测试的方法中,右键,然后选择junit Test Case测试:2、选择测试方法的生成路径等:3、下面是测试例子的代码:package service; import jav...

2018-06-06 15:04:26 5138

python使用selenium浏览器插件

里面包含了谷歌、火狐和ie浏览器的驱动,使用时可以直接点击进去下载对应的版本即可。 既方便又好用,selenium教程直接使用的百度或者CSDN上搜索《selenium 教程》,然后按照教程中的连接方式来使用selenium即可。

2020-11-16

rabbitmq-server-3.8.4

rabbitmq-server-3.8.4 另有ErLang需要下载的话可以看我的另一个上传的资源,从rabbitMQ的官网中可以看到,RabbitMQ的版本号需要与ErLang的版本号配套使用,需要注意这一点,这个版本的需要配置ErLang23的版本使用

2020-10-02

esl-erlang_23.0_windows_amd64.exe

这个erlang23.0版本,根据rabbitMQ官网的介绍,可以和下面这几个版本的rabbitMQ配合使用: 3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 其他版本的rabbit,请移步其他资源下载

2020-10-02

lombok-plugin-0.29.zip

lombok是用于快速开发的一个集成工具,可以使你的代码看起来更加简洁,使用一个注解就可以帮你实现很多东西,具体的可以自己再去详细了解一下。 这个资源是用于idea的lombok插件,里面包含了2018.1、2018.2、2018.3和2019.1、2019.2、2019.3以及最新的2020.1 请确定是否有需求再下载,安装教程翻我博文《idea离线安装lombok插件》,可以配套使用,实现离线安装下载lombok插件。

2020-03-29

hive-jdbc-uber-2.6.5.0-292.jar

这个jar包可以用于使用DateGrip连接Hive时添加jdbc驱动时使用。 详细的可以参考我的一篇教程《使用DataGrip连接Hive》

2019-06-01

cydia1.1.9安装文件和依赖包

cydia1.1.9安装文件和依赖包 这个是解决手机越狱后没有cydia补充的文件,对于一般的用户没有什么用处,对于手机越狱后没有cydia的用户可以下载后作为补充文件。 详细操作请自行百度。

2018-06-07

apache-maven-3.2.5.zip

apache-maven-3.2.5.zip,这个软件是属于比较新的maven解压版,可以直接通过解压到你需要放置的盘符下面即可。 需要配置两个地方: 1、在解压目录下:maven-conf-setting.xml这里面的C:\Java\repository这里配置你的jar包仓库地址,我这里是配置在C:\Java\repository下,根据你的需求进行配置; 1、在eclipse/Myeclipse中选择maven,然后选择conf-setting.xml文件,接口加载你的jar包仓库;

2018-06-07

PMBOK第六版输入输出完整版

这个资源是PMBOK第六版输入输出与工具技术+常见的工具与技术名词解释,里面的每个字都是我根据《PMBOK项目指南第六版》键盘敲出来的,侧面保证了正确性。 由于6月份开始考PMBOK第六版了,输入输出与工具技术与第五版有差别,所以建议下载这个,保证正确性,不要下载到PMBOK第五版的,误导了自己。 希望本资源能够帮到你。

2018-06-07

PMP项目管理第六版五大过程组十大知识领域表格打印版

文档是PMP第六版项目管理五大过程组和十大知识领域的表格打印版。 这个就是我们参加PMP考试培训的时候老师经常提到的51049表格: 5大过程组+10大知识领域+49个子过程 有需要的下载吧,可以直接打印。

2018-06-06

spring 3.0.4+mybatis 3.2.3

spring 3.0.4+mybatis 3.2.3 在学习myBatis和spring整合的情况下,需要下载对应的jar包,如果不方便在网上到处收集,可以直接通过下载这个zip包,解决就可以得到整合需要用到的包。方便,快捷。

2018-06-06

小米刷机 MiFlash

装上MiFlash,从此小米刷机不再愁了。

2013-12-14

空空如也

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

TA关注的人

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