自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

暴走的后端

后端养成中

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

原创 Linux 常用命令全拼

作者:JavaEdge链接:https://www.nowcoder.com/discuss/295899?type=0&order=0&pos=27&page=0来源:牛客网 pwd: print work directory 打印当前目录 显示出当前工作目录的绝对路径 ps: process status(进程状态,类似于windows的任务管...

2019-10-06 21:21:06 497 1

转载 hashmap并发情况下的成环原因

hashmap是一个非线程安全的集合。他的线程不安全出现在,并发情况下可能会出现链表成环的问题,导致程序在执行get操作时形成死循环。hashmap成环原因的代码出现在transfer代码中,也就是扩容之后的数据迁移部分,代码如下:void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTab...

2019-07-22 22:52:53 1894

转载 (牛客网刷题)正则表达式匹配

链接:https://www.nowcoder.com/questionTerminal/45327ae22b7b413ea21df13ee7d6429c来源:牛客网当模式中的第二个字符不是“*”时:1、如果字符串第一个字符和模式中的第一个字符相匹配,那么字符串和模式都后移一个字符,然后匹配剩余的。2、如果 字符串第一个字符和模式中的第一个字符相不匹配,直接返回false。...

2019-03-26 22:13:12 354

原创 添加maven依赖时 将项目之前已依赖包加入其中的程序

先在pom.xml中加入依赖<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.8.3</version></dependency><depende...

2019-03-20 13:41:14 497

转载 Hadoop学习系列之Hadoop、Spark学习路线(很值得推荐)

Hadoop学习系列之Hadoop、Spark学习路线(很值得推荐)文章出自:http://www.cnblogs.com/zlslch/p/5448857.html 1 Java基础:视频方面:推荐毕老师《毕向东JAVA基础视频教程》。学习hadoop不需要过度的深入,java学习到javase,在多线程和并行化多多理解实践即可。书籍方面:推荐李兴华的《java开发实战经典》...

2019-02-26 16:25:48 183

转载 什么是闭包?闭包的优缺点?

闭包(closure)是javascript的一大难点,也是它的特色。很多高级应用都要依靠闭包来实现。1、变量作用域要理解闭包,首先要理解javascript的特殊的变量作用域。变量的作用域无非就两种:全局变量和局部变量。javascript语言的特别之处就在于:函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。注意点:在函数内部声明变量的时候,一定要使用...

2019-02-22 10:24:32 974

原创 Spring Boot配置中遇到的问题

获取不到项目属性:在项目的properties里 配置excluded 将** 删去 这样项目就会读取配置文件了!

2018-05-16 15:28:09 148

原创 Spring AOP中pointcut expression表达式解析

注意上面两中方法的不同点出了 将 || 改成了 or ,还有就是 每个execution都被 ()包含起来,建议为了区分不同的表达式 最好都是用()包装。pointcutexp包里的任意类.within(com.test.spring.aop.pointcutexp.*)pointcutexp包和所有子包里的任意类.within(com.test.spring.aop.pointcutexp..*...

2018-05-14 22:12:18 584

转载 Java并发:volatile内存可见性和指令重排

volatile两大作用1、保证内存可见性2、防止指令重排此外需注意volatile并不保证操作的原子性。(一)内存可见性1 概念JVM内存模型:主内存和线程独立的工作内存Java内存模型规定,对于多个线程共享的变量,存储在主内存当中,每个线程都有自己独立的工作内存(比如CPU的寄存器),线程只能访问自己的工作内存,不可以访问其它线程的工作内存。工作内存中保存了主内存共享变量的副本,线程要操作这些...

2018-05-10 20:36:01 123

原创 tomcat 与 nginx,apache的区别?

一般的运用场景下,apache和nginx在负载均衡里是前端服务器,用来处理请求的转发(反向代理等);绝大部分时候他们本身并不会运行项目。tomcat和jetty,WebLogic是后端服务器,是直接用来运行项目的容器。简单来说就是你发出一个请求,先经过apache或nginx,他们会合理地把请求分配到后台比较不忙的tomcat或jetty。tomcat或jetty会把请求处理好返回给apache...

2018-05-10 20:19:31 205

原创 今天遇到了二级缓存的脏读现象

之前给项目弄了个MD5加密 为了省事 把原数据库某密码直接在mysql workbench改成了MD5加密后数值  但是因为改之前 我启用了redis做mybatis二级缓存 这一行数据我刚好在修改数据库中密码前查询过 错误的数据被保存在了缓存中 造成脏读 于是屡次登陆验证不成功  今天控制台输出前后台密码了一波才反应过来 解决方案:设置flushcache为true 强制刷新缓存...

2018-05-09 22:51:44 1615

原创 今天改struts2文件上传时遇到的坑

1. 否则action过不去2.FileName 不是Filename3.必须有getter setter

2018-05-05 19:49:02 1518

原创 mysql连接查询的测试

两个表的内容:左连接测试:(user的所有内容被显示出来 message不满足条件的被置为null)右连接测试:message不满足的条件都被查出来了inner join:outer join:...

2018-05-03 23:05:29 259

转载 理解事务的4种隔离级别

数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工资,程序员的...

2018-04-30 22:12:40 125

原创 知乎问答:在开发过程中使用git rebase还是git merge,优缺点分别是什么?

链接:https://www.zhihu.com/question/36509119/answer/67828312两个使用场景是不一样的,merge只是合并另外一个分支的内容,rebase也合并另外一个分支的内容,但是会把本分支的commits顶到最顶端假设我们现在有3个分支master分支:线上环境使用的分支testing分支:测试环境使用的分支my_feature分支:开发新功能的分支,也就...

2018-04-25 18:48:25 2171

原创 Java Web从前端到后台常用框架介绍

一、SpringMVCSpring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。模型(Model )封装了应用程序的数据和一般他们会组成的POJO。视图(View...

2018-04-23 20:45:49 247

转载 Java高并发,如何解决,什么方式解决

对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步   1、同步和异步的区别和联系   所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息...

2018-04-23 15:00:46 102

转载 生产者-消费者模式的实现方式

1、背景                                                                    生产者生产数据到缓冲区中,消费者从缓冲区中取数据。如果缓冲区已经满了,则生产者线程阻塞;如果缓冲区为空,那么消费者线程阻塞方式一:synchronized、wait和notify                 1 package producerCon...

2018-04-16 14:45:43 188

原创 [编程题]数组中重复的数字

publicboolean duplicate(intnumbers[], int length, int[] duplication) {        boolean[] k =new boolean[length];        for(int i = 0; i             if(k[numbers[i]] == true) {   

2018-04-16 14:41:02 201

转载 当你在浏览器中输入baidu.com并且按下回车之后发生了什么?

原文链接:当你在浏览器中输入google.com并且按下回车之后发生了什么请原谅我把标题中的google.com 改成了 baidu.com——我估计百度应该把我这篇blog推到首页吧:)这仅仅是为了表达对百度的一个吐槽——如果你真以为我是为了SEO虾米的。。。亲,你觉得有这个必要么? O(∩_∩)O  本文试图回答一个古老的面试问题:当你在浏览器中输入google.com并且按下回车之后发生了什...

2018-04-15 11:12:25 2166 1

转载 同步方法、同步代码块、volidate变量的使用

当多个线程涉及到共享数据的时候,就会设计到线程安全的问题。非线程安全其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是“脏读”。发生脏读,就是取到的数据已经被其他的线程改过了。什么是线程安全呢?用并发编程实战里面的一段话解释说: 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要额外的同步或协同,这个类都能表现出正确的...

2018-04-12 22:40:31 364

转载 分治算法--寻找第k大数

  问题描述:给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k大的元素,(这里给定的线性集是无序的)。  其实这个问题很简单,直接对线性序列集qsort,再找出第k个即可。但是这样的时间复杂度就是qsort的时间复杂度O(nlogn)。有没有更快的方法呢?看到网上有一种解法是采取了快排的思路,但是稍微坐了些改动,然后时间复杂度能够接近O(n)。因为最近刚刚写了快排的实现,所...

2018-04-12 15:24:20 694

转载 MySQL 的索引是什么

索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。一、导致SQL执行慢的原因1.硬件问题。如网络速度慢,内存不足,I/O吞吐量小,磁盘空间满了等。2.没有索引或者索引失效。...

2018-04-11 22:48:11 133

转载 Http常识

HTTP方法方面GET : 请求资源,,可用URL传参给服务器POST: 发送数据PUT : 传输文件HEAD : 获得报文的首部,验证URL是否有效DELETE : 删除文件OPTIONS : 查询相应URL支持的HTTP方法get方法和post方法的区别1.get重点在从服务器获取资源,post重点在发送数据2.传参过程不同,前者置于url后,可见,后者通过http的post机制...

2018-04-11 22:45:36 113

原创 把数组排成最小的数

import java.util.ArrayList; public class Solution {   public String PrintMinNumber(int[] numbers){           int[] clone = numbers.clone();           qsort(clone,0,clone.length-1);           StringBui...

2018-04-11 22:44:48 67

转载 悲观锁和乐观锁

悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。之前有写过一篇文章关于并发的处理思路和解决方案,这里我单独将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍一次吧。悲观锁(Pessimistic Lock)悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常所说的“一锁二查三更新”即指...

2018-03-31 12:16:56 124

转载 内部类的科普

1.为什么使用内部类?使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响1.1.使用内部类最大的优点就在于它能够非常好的解决多重继承的问题,使用内部类还能够为我们带来如下特性:(1)、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独。(2)、在单个外围类中,可以让多个内部类以不...

2018-03-30 13:30:48 79

转载 多线程算法题

一个文件中有10000个数,用Java实现一个多线程程序将这个10000个数输出到5个不用文件中(不要求输出到每个文件中的数量相同)。要求启动10个线程,两两一组,分为5组。每组两个线程分别将文件中的奇数和偶数输出到该组对应的一个文件中,需要偶数线程每打印10个偶数以后,就将奇数线程打印10个奇数,如此交替进行。同时需要记录输出进度,每完成1000个数就在控制台中打印当前完成数量,并在所有线程结束...

2018-03-27 14:42:00 1219 1

转载 任意2n个整数,从其中选出n个整数,使得选出的n个整数和同剩下的n个整数之和的差最小。

编程之美上的题,《数组分割》:假设数组A[1..2N]所有元素的和是SUM。模仿动态规划解0-1背包问题的策略,令S(k, i)表示前k个元素中任意i个元素的和的集合。显然:S(k, 1) = {A[i] | 1&lt;= i &lt;= k}S(k, k) = {A[1]+A[2]+…+A[k]}S(k, i) = S(k-1, i) U {A[k] + x | x属于S(k-1, i-1) }...

2018-03-27 14:40:40 1264

原创 牛客网刷题时遇到的题解

下列有关Servlet的生命周期,说法不正确的是?在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源destroy()方法仅执行一次,即在服务器停止且卸载Se...

2018-03-26 11:58:30 1400

转载 Lowest Common Ancestor of a Binary Tree/binary search tree

if (root == p || root == q || !root){ return root; }TreeNode* fromLeft = lowestCommonAncestor(root -&gt; left, p, q);TreeNode* fromRight = lowestCommonAncestor(root -&gt; right, p, q); if (!fromLeft) ...

2018-03-25 20:12:48 79

原创 哈夫曼

什么是堆优先队列(Priority Queue):特殊的"队列",取出元素的顺序是依照元素的优先权(关键字)的大小,而不是元素进入队列的先后顺序。问题:如何组织优先队列?一般的数组、链表?有序的数组、链表?二叉搜索树?AVL树?对于堆来说,主要就是两个操作,插入和删除,而无论是一般的数组、链表,还是有序的数组、链表其中至少有一个操作是需要O(n) 的时间来完成的。可以考虑能否采用二叉树存储结构?如...

2018-03-25 20:09:15 189

原创 shiro的搭建与基本使用

shiro是一个java的安全权限框架 shiro.ini 配置文件关键代码:获取subject:Subject user=SecurityUtils.getSubject();user.getSession() 获取session测试当前的用户是否被认证 user.isAuthenticated()把用户名和密码封装为UsernamePasswordToken对象UsernamePassword...

2018-03-25 20:01:23 188

原创 169. Majority Element QuestionEditorial Solution

Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.    int majorityElement(vector& nums) {        int count=0

2016-08-07 23:00:46 145 5

空空如也

空空如也

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

TA关注的人

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