- 博客(46)
- 收藏
- 关注
原创 线程组和线程的优先级
1、什么是线程组Java中用ThreadGroup来表示线程组。它的作用总体来说就是对线程进行统一的管理。每个线程组下可以包含很多个线程或者线程组,它是一种树状结构。每个线程都不能独立存在,没有特意设置线程组的线程,main线程就是他们的线程组;可以看一下例子,还是以Executor线程池来管理线程为例:@Beanpublic Executor executor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExe
2020-12-02 10:51:43
361
原创 Java多线程入门类和接口
1、通常我们使用的两个接口类:Thread类、Runnable类(1)Thread类Java可以通过继承Thread类,并重写run方法来实现我们自己的线程类。然后使用start方法来启动线程。具体可以看以下示例:public class MyThread extends Thread { @Override public void run() { // todo } public static void main(String[] a
2020-12-01 15:17:31
343
原创 vue组件中各个属性简单了解
由于刚刚接触vue,以下内容为本人的一些简单的了解,方便知道什么情况下该用哪个1、name:组件的名称2、props:父组件传值给子组件(可以是单个值,也可以是一个对象,或者数组等)3、data:子组件需要的数据定义在这里面4、computed:称为计算属性,用来控制该组件自己的变量,该变量不在data里面声明,直接在computed里面定义,然后经过一系列的计算等操作之后,返回。所以,computed比较适合对多个变量或者对象进行处理后返回一个结果的值。如果data中的数据不改变的话,直接
2020-09-25 16:10:59
1888
原创 关于jenkins项目迁移那些事儿
目前公司的开发环境是自己在几台服务器上搭建的。所有的项目都由jenkins进行管理和部署,jenkins在安装的时候,默认安装在了linux系统的/app目录下,属于centos-root文件系统,容量只有50G。除了包含十几个G的视频文件之外,最占容量的就属于jenkins生成的产物jobs文件夹了。该文件夹下包含着所有jenkins管理的项目的生成产物。最近由于在jenkins客户端配置项目时...
2019-08-26 12:03:05
517
原创 微信小程序授权登录
这几天,在研究微信小程序的授权问题。用自己的理解总结一下:1.1 首先需要一个登录按钮:<button>登录按钮</button>1.2 点击登录按钮,会调用app.js文件。app.js文件的内容包括最重要的一个函数:wx.login。其中需要将res.code作为url的参 数,通过wx.request传递code给后台开发服务器。// 登...
2019-03-06 15:01:08
447
原创 SpringBoot项目中@Async、@EnableAsync的配合使用
1、简述 这几天在优化项目的时候,需要用到异步线程,先来说一下什么是同步和异步。 (1)同步:在项目运行的过程中,线程的执行是按照顺序来的。比如说,我们要执行一个简单的循环输出的操作。代码如下:简单的循环操作 假如一个线程每隔1.5秒来执行该方法,那么第一次执行时需要整个循环执行完,才能进行第二次执行。也就是说,上一次执行完毕之后,才能...
2019-02-22 17:11:37
1226
原创 Hystrix——服务熔断
1、什么是Hystrix? 在分布式的环境或者微服务中,不可避免的会出现一些错误,一个服务的失败或许会导致整个项目的失败。而Hystrix是一个库,它可以通过添加容错逻辑来保护或者控制你的分布式服务之间的交互。Hystrix通过隔离服务之间的访问点,阻止它们之间的级联故障以及提供后备选项来实现这一目标,所有这些都可以提高系统的整体弹性。 2、Hystrix出现的目的? ...
2019-02-13 18:59:26
299
原创 Nginx
嗯,还是第一次接触Nginx。先来简单的介绍一下什么是Nginx、他能用来干什么、相比其他类似的服务他的优点在哪里?1、什么是Nginx? Nginx是一个轻量级的、能够支持高并发服务,他是高性能的HTTP和反向代理服务,同时也是电子邮件(IMAP、POP3)代理服务器。话说,电子邮件代理服务器是Nginx服务当初设计的目的之一。Nginx能够支持同时50000个并发连接数的...
2019-01-29 15:07:57
177
2
转载 docker搭建javaweb运行环境
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在Ubuntu14.04 64位系统下来创建一个运行Java web应用程序的Docker容器。一、下载镜像、启动容器1、下载镜像...
2018-12-29 18:46:35
418
原创 关于给mongodb集合中的某些字段添加索引
我们知道mongodb是一种文本数据库,它和mysql数据库一样,都存在索引这一概念。给字段添加索引,可以加快数据查询的速度。当然了,在数据量足够大的情况下,加索引和不加索引的差距是很明显的。但是加了索引之后,在保存方面大概是会很浪费时间的。1、单一索引 mongodb中使用以下命令来给字段添加索引。现在先简单的介绍一下,项目中用到的两种单一索引、集合索引。首先在mongod...
2018-12-21 11:59:10
6942
原创 java关于使用subList方法截取的字符串,放入redis缓存的相关问题及解决方法
在前几天做项目的时候,会对其他项目通过阿里云发来的消息中的某个List类型的字段进行截取,并将截取后的结果存入redis中。但是在项目运行起来的时候,获取redis中该字段的内容会出现错误,错误提示如下:(error) WRONGTYPE Operation against a key holding the wrong kind of value上面的提示,表明该key对应的v...
2018-12-17 11:49:11
437
原创 List为null还是为空
在今天调试项目的时候,前端的小伙伴问了我下,当List中没有数据的时候,我传给她的是啥?然后我就测试了一下,详细的过程如下:1、如果使用list == null,说明这个list不存在,那么应该使用List<T> list = new ArrayList<T>();来创建这个list容器2、如果使用list.size == 0 || list.isEmpty(),说...
2018-09-21 10:45:43
1593
原创 分布式调度框架大集合
分布式任务调度框架1、什么是分布式任务调度?2、常见的分布式任务调度框架有哪些?3、分布式任务调度框架的技术选型?4、分布式任务调度框架的安装与使用?大对比表格:https://pan.baidu.com/s/1CZAjTFqIhinzlVLnrrMUKQ分布式任务调度,三个关键词:分布式、任务调度、配置中心。分布式:平台是分布式部署的,各个节点之间可以无状态和无限的水...
2018-09-15 18:03:31
66907
9
原创 maven学习(三)——本地仓库、中央仓库、远程仓库
1、maven的本地仓库 maven中的本地资源库存储的是所有项目的依赖关系,每新建一个maven项目,所有相关的项目文件都会被存储在本地资源库中。maven默认的本地资源库的位置是在一个.m2的文件夹中。localhost:repository guolujie$ pwd/Users/guolujie/.m2/repository2、maven的中央存储库 ...
2018-09-04 14:34:29
3235
原创 maven学习(二)——启用代理访问
如果你所在的公司正在建立一个防火墙,并且使用HTTP代理服务器防止用户直接连接到互联网,那么如果您使用代理,maven将无法下载任何的依赖。如果想要让他正常工作的话,就需要启动HTTP代理访问,才能让他正常的访问外部仓库,以下载所需要的资源。 在/maven/conf/settings.xml文件中有如下所示的部分: <proxies> &...
2018-09-03 16:58:12
648
1
原创 maven学习(一)——maven的安装目录结构
1、maven的安装目录 如果忘记了maven的安装目录,可以使用“mvn -version”命令来查看,其中包括maven的版本信息、安装目录等各种信息。localhost:~ guolujie$ mvn -versionApache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02...
2018-09-03 15:52:39
2870
原创 Redis详细介绍,以及在SpringBoot中的简单使用
1.Redis的特点: (1)Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,下次启动的时候可以直接加载磁盘中的数据; (2)Redis不仅可以存储key-value类型的数据,还可以存储List、Set、hash、zset等数据结构的数据; (3)Redis支持数据的备份,即master-slave模式的备份; (4)Redis性能极高,读写速度特别快,读的速...
2018-09-03 11:31:13
1421
原创 用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。package Offer;import java.util.Stack;/*Created By guolujie 2017年10月18日*/public class TwoStackToQueue { Stack stack1 = new Stack(); Stack stack2 = new
2017-10-18 15:43:22
173
原创 重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。package Offer;/*Created By guolujie 2017年10月18日*/class TreeNode{ int val; Tr
2017-10-18 15:22:39
237
原创 输入一个链表,从尾到头打印链表每个节点的值。
输入一个链表,从尾到头打印链表每个节点的值。package Offer;import java.util.ArrayList;import java.util.List;import java.util.Stack;/*Created By guolujie 2017年10月18日*/class ListNode{ int val; ListNode next = null;
2017-10-18 14:37:52
321
原创 《设计模式——java版》(三)
三、抽象工厂模式 1.为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类。抽象工厂模式是工厂方法模式的升级版本。在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。 2.抽象工厂模式与工厂方法模式类似,也是有四个不同的角色: (1)抽象工厂角色:任何创建对象的工厂类必须实现这个接
2017-10-17 10:38:31
165
原创 《设计模式——java版》(二)
第三章 创建型模式简介一、单例模式 1. 意思是:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 2. 适用场景:建立目录、数据库连接等需要单线程操作的场合,用于实现对系统资源的控制。 3.分类:饿汉式:类加载的时候就进行对象实例化 懒汉式:第一次引用类时,才进行对象
2017-10-16 16:36:09
196
原创 《设计模式——java版》(一)
一、设计模式简介 1. 设计模式是一套被反复使用、多数人知晓、经过分类编目的优秀代码设计经验的总结。使用设计模式是为了重用代码,使代码更容易理解并保证代码的可靠性。 2. Java设计模式贯彻的原理是:面向接口编程、而不是面向实现。其目标原则是:降低耦合性、增强灵活性。 3. 设计模式的要素是: 3.1模式名称
2017-10-16 13:43:57
261
原创 在一个字符串中个找到只出现一次的第一个字符
1. 看到题目,我首先想到的第一种方法是:简单粗暴的搜索,从头到尾遍历每个字符,看它的前后是不是有与之相等的字符(不包括本身),如果有那么就继续下一个字符,如果没有就输出该字符(这里需要注意的是,有的人写出来的算法,没有考虑到最后一个字符只出现一次的情况,需要判断当前位置是不是最后,如果是的话直接返回最后一个字符就可以了)。时间复杂度为O(n^2),没有使用额外的空间//第一种方式,不使用额外
2017-10-13 16:00:29
3891
转载 最大子序列、最长连续公共子串(连续)、最长公共子序列(动态规划)
原文链接:http://blog.sina.com.cn/s/blog_54f82cc20100zi4b.html最大子序列最大子序列是要找出由数组成的一维数组中和最大的连续子序列。比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},它的和是8,达到最大;而 {5,-6,4,2}的最大子序列是{4,2},它的和是6。你已经看出来了,找最大子序列的方法很简单,只要前i项的
2017-10-11 15:35:19
1930
原创 钝角三角形的个数
输入圆周上的n个点(n>=1),以角度a表示其位置(0import java.util.Scanner;public class a{ public static int solution(int n, double[]a){ double temp; int result=0; int i; for (i = 0; i < n && a[i] < 180.0; i
2017-09-29 10:50:36
1209
原创 二叉排序树的构造、深度优先遍历、广度优先遍历
之前面试官总是会问到二叉树的遍历,自己回答的很不好。甚至可以说想都想不起来。真的应了老师应常说的那句话,你们学的东西都还给老师了啊。。。这两天在看mysql优化的时候看到了B树,然后去查阅B树的知识,又知道B树又跟二叉排序树脱不了关系。于是就整理了这篇关于二叉排序树的相关知识。 首先我们知道,二叉排序树的特征有:(1)如果一个节点的左子树不空,那么左子树的所有节点的值均小于该节点
2017-09-15 14:04:07
814
转载 MySQL索引原理及慢查询优化
原文链接:https://tech.meituan.com/mysql-index.htmlMySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应
2017-09-14 16:05:33
269
原创 数组中重复的数字
剑指offer——数组中重复的数字题目描述:找出数组中重复的数字题目解析:可以将数组进行排序,然后从头到尾遍历排好序的数组就可以了;还可以使用HasnMap来记录数组中每个元素的状态,如果扫描到的元素在HashMap中的状态为“true”,那么就找到一个重复的数字,复杂度为O(n)。import java.util.HashMap;public class RepeatArrayNum
2017-09-13 21:17:14
187
原创 实现Singleton模式
剑指offer——实现singleton模式题目描述:设计一个类,我们只能生成该类的一个实例。题目解析:只能生成类的一个实例,就是实现了Singleton模式,在常用的模式中,单例模式是唯一一个能够用短短几十行代码完整实现的模式。(1)//饿汉式public class Single{ private Single(){} private static Single s
2017-09-12 22:19:41
186
原创 编程题——替换空格
今天做了一道替换空格的题目。我发现每次做这种题目,总是搞不清楚想要的是什么。无论是输出还是输入,在本地编译运行都没有问题,然后在线的时候就会提示各种问题。这道题目,我一开始return的是StringBuffer类型的结果,结果提示编译未通过。最后我将返回值类型改为String,就通过了。大概思路是这样的:我先把我输入的StringBuffer类型的str,使用charAt()方法以字符类型一个字
2017-09-09 21:36:53
260
原创 Xposed框架详解
最近接触了Android开发中用到的比较火的一个框架——Xposed框架。那么什么是Xposed框架呢?1、什么是Xposed框架? 百度百科上给出的定义是:Xposed是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于Xposed可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。优点:Xposed是基于AOSP(android open
2017-08-24 17:05:47
3770
原创 Spring(一:Spring配置)
Spring是软件开发的一个非常流行的框架。它可以用一下关键词来描述——开源的、轻量级的、容器、松耦合、框架 Spring对于软件开发来说,简单、方便和快捷。因为Spring中的Bean代表对象
2017-07-29 22:09:15
194
原创 Linux系统,基本操作指令整理
每次面试的时候,都会被问到Linux的一些基本知识。自己回答不上来,真的感觉都要怀疑人生了!现在用一点时间来整理一下Linux的基础知识。希望在整理的过程中,自己能真正的了解一些。 一、
2017-07-26 17:16:17
279
原创 发现字符串中的偶串
在刚刚结束的《秋招备战专场三模》考试中,第一道编程题,就使用了四十分钟才完成。看来我的编程能力真的不强啊。心塞。。。 题目:(如果一个字符串s是由两个完全一样的字符串连接起来的,那么这个字符串s就叫做偶串。例如:abcabc)。我们现在想找出一个偶串s,在末尾删除一个或者多个字符以后,还是偶串的最大的字符串长度。 输入:一个确定的偶串s="abaababaab",他
2017-07-25 21:20:40
356
原创 软件测试的目标
基于软件测试的目标,站在不同的立场,有两种完全不同的观点。从用户的角度出发,用户普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受该产品;那么从软件开发者的角度来说,他们希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确的实现了用户的要求,确立人们对软件质量的信心。 由于,一个软件产品不可能完全正确,没有bug,如果只是为了表明软件产品中不存在错误,那么
2017-07-25 11:28:52
6019
原创 PS抠图,更改电脑主板的背景
昨天,我哥想要我教他如何使用PS更改他照的电脑主板的背景。我自己先尝试了一下,然后将过程记录了下来,供他参考。由于自己也没有很系统的学习过PS,都是自己没事的时候拿来练手的。所以,不足之处,请多包涵! 我们使用PS来对图片进行美化,其中最重要的一个操作就是“抠图”。顾名思义,就是要把图片中你需要的部分抠出来。那么我们就需要先选中我们需要的部分。那么在PS中能够选择区域
2017-07-22 12:03:09
396
原创 栈(LIFO:后进先出)
(一)栈LIFO 栈是一种限制插入和删除只能在一个位置上的表。这个位置就是栈顶(top)。普通的清空栈的操作和测试栈是否为空的操作,都是栈的指令系统的一部分。其中我们能对栈直接进行的操作只有基本操作:push(入栈)、pop(出栈)。
2017-07-20 21:55:56
3254
转载 过滤器(Filter)和监听器(listener)
转载地址:[http://blog.csdn.net/qq1131410679/article/details/75151080] 一、过滤器Filter(过滤器)并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问
2017-07-20 21:48:23
1757
1
原创 删除ArrayList表中的偶数
今天在学习链表的时候,有一个小例题:删除表中的偶数,使用的是ArrayList。我所学习的《数据结构与算法分析》这本书中只给出了使用remove删除偶数的算法,其他的创建一个数组对象,从键盘接收数组元素等等,是我自己添加的。小程序如下:public class Remove {//删除表中的偶数 public static void removeEvensVer1(...
2017-07-20 18:55:29
2757
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人