自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 HEVC中的CTU、CU、CTB、CB、PB和TB分别是什么

看到一篇文章解释CTU、CU、CTB、CB、PB和TB解释的很清晰,转发分享一下,原文需要梯子。HEVC, also known as H.265 or MPEG-H part 2(ISO/IEC 23008-2), is just around the corner. A good overview was published. The reference implementation is ...

2019-12-11 16:29:57 3799 1

原创 从图像超分辨率快速入门pytorch

文章目录前言正文单一图像超分辨率(SISR)训练4要素网络模型数据训练DataLoader前言最近又开始把pytorch拾起来,学习了github上一些项目之后,发现每个人都会用不同的方式来写深度学习的训练代码,而这些代码对于初学者来说是难以阅读的,因为关键和非关键代码糅杂在一起,让那些需要快速将代码跑起来的初学者摸不着头脑。所以,本文打算从最基本的出发,只写关键代码,将完成一次深度学习训练...

2019-11-06 16:10:30 5732 4

原创 如何体现AQS的价值,通过这些并发工具类

这篇文章主要通过并发包中的几个高级工具类来展示AQS的价值,具体AQS的详细解析,看另外一篇文章。文章目录ReentrantLockCountDownLatchSemaphoreReentrantReadWriteLock除了ReentrantLock之外,还有另外一下同步组件用到了AQS,例如java.util.concurrent.locks.ReentrantReadWriteLoc...

2019-09-02 13:00:28 336

原创 通过调试来从源码上理解AbstractQueuedSynchronizer(AQS)

AbstractQueuedSynchronizer(AQS)是java并发包中很多并发工具类的基础,比如java.util.concurrent.locks.ReentrantLock重入锁、java.util.concurrent.locks.ReentrantReadWriteLock读写锁、java.util.concurrent.Semaphore信号量、java.util.concur...

2019-09-01 21:37:59 240

原创 IDEA多线程断点调试

多线程断点调试,在观察多线程执行过程的时候非常有用。下面是一段多线程代码:import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class AQSDebug { private Lock lock = new ReentrantLock(); ...

2019-09-01 19:59:11 8319

原创 线程安全的单例设计模式(java)

单例设计模式中,懒加载方式写法如下:public class UnsafeLazyInitialization { private static Instance instance; public static Instance getInstance() { if (instance == null) { instance = new ...

2019-08-31 15:17:41 115

原创 volatile语义深入理解

happens-beforeJSR-133定义了如下happens-before规则程序顺序规则:一个线程中的每个操作,happens-before于该线程中任意后续操作。监视器锁规则:对于一个锁的解锁,happens-before于后续对这个锁的加锁操作。volatile变量规则:对于一个volatile域的写,happens-before于任意后续对这个变量的读。传递性:如果A h...

2019-08-31 14:15:15 172

原创 ThreadLocal类的工作机理

ThreadLocal类用来保存线程私有的变量值,其工作机理如下:ThreadLocal内部类ThreadLocalMap,是一个hashmap的实现。但是这个hashmap与Java集合类中的hashmap有所不同,他们都是通过哈希表实现,但是解决哈希冲突的方式有所不同,集合类中的hashmap是通过拉链法解决,而ThreadLocalMap是通过开放定址发中的线性探测法解决。 这一点通过se...

2019-08-30 13:09:52 94

原创 leetcode 151. 翻转字符串里的单词 java (看得懂的详细解析)

题目:给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: "the sky is blue"输出: "blue is sky the"示例 2:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: "a good example"输出: ...

2019-07-22 23:17:42 457

原创 LeetCode 71. 简化路径 java (看得懂的详细解析)

题目:以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只...

2019-07-22 00:06:30 565

原创 面试题:LeetCode 239. 滑动窗口最大值 java

这是一道本人面试时遇到的算法题,在LeetCode中的原题,虽然被列为困难,其实并不难。题目:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] ...

2019-07-16 17:59:04 520

原创 面试题:查找先非严格递增后非严格递减的数组中的最大值 java

这是一道本人面试时手撕算法环节的真题。给定一个整数数组,这个数组中的数字有这样一个规律:前面部分非严格递增,后面部分非严格递减,写出找到其中最大值的算法。说明:所谓非严格递增是指arr[i]<=arr[i+1],相应的非严格递减是指arr[i]<=arr[i+1]。例如下面的这些例子:int[] arr1 = new int[]{1, 2, 3, 4, 5, 6, 7, 7, 5...

2019-07-15 23:32:01 1608

原创 leetcode 49. 字母异位词分组 java (看得懂的详细解析)

题目:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。解析:本题要求将所有的字...

2019-07-10 23:32:27 344

原创 leetcode 43. 字符串相乘 java (看得懂的详细解析)

题目:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。num1 和 num2 ...

2019-07-07 13:33:21 972

原创 LeetCode 216. 组合总和 III java (看得懂的详细解析)

题目:找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]解析:相比于前面两道用回...

2019-07-06 20:50:14 802 1

原创 leetcode 93. 复原IP地址 java(看得懂的详细解析)

题目:给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]这一题与上一篇文章leetcode131. 分割回文串题目如出一辙,所以大家可以参考两道题目来进行学习,加深对回溯算法的解题方法的印象。同样,大家跟着我的思路来进行理解,保证透彻。我们要将一个...

2019-06-29 16:31:23 1631 2

原创 leetcode131. 分割回文串 Java (看得懂的详细分解)

题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: "aab"输出:[ ["aa","b"], ["a","a","b"]]...

2019-06-29 11:04:22 1519

原创 RocketMQ官方教程(翻译加扩充)——定时消息

本翻译教程来自RocketMQ官方网站,中间会加上自己的理解,有错误或者不妥之处请及时指正。我在示例代码中加了详细的注释,如果读者想要方便的下载这些代码,包括后面所有博客中有关RocketMQ教程中用到的代码,请到我的GitHub仓库进行下载。什么是定时消息?定时消息不同于正常的消息。它们会等到定时时间过后才会被投递出去,供消费者消费。定时消息满足了延时发送的需求。但是需要注意的是延...

2019-06-08 17:28:25 343

原创 RocketMQ官方教程(翻译加扩充)——广播模式

本翻译教程来自RocketMQ官方网站,中间会加上自己的理解,有错误或者不妥之处请及时指正。我在示例代码中加了详细的注释,如果读者想要方便的下载这些代码,包括后面所有博客中有关RocketMQ教程中用到的代码,请到我的GitHub仓库进行下载。什么是广播模式?广播模式是将同一个消息发送给所有的订阅者。如果你想要实现所有的订阅者都收到相同的消息,那么广播模式将会是你的不二之选。与广播...

2019-06-07 20:56:25 772

原创 RocketMQ官方教程(翻译加扩充)——有序消息

本翻译教程来自RocketMQ官方网站,中间会加上自己的理解,有错误或者不妥之处请及时指正。本“有序消息”教程与原官方示例有所不同,但是更加突出了重点。另外,最开始写RocketMQ官方教程的时候,觉得官方示例还可以,有注释,可以辅助理解。到后来官方教程越来越差,所以本文也是在原来的基础上扩充了很多内容以辅助读者理解。我在示例代码中加了详细的注释,如果读者想要方便的下载这些代码,包括后面所...

2019-06-07 16:39:26 269

原创 通过Spring注解注册Bean的四种方式

文章目录包扫描+组件标注注解@Bean注解@Import注解使用FactoryBean(工厂Bean)给spring容器中注册bean有四种通过注解的方式:包扫描+组件标注注解@Bean@Import使用FactoryBean(工厂Bean)下面逐个介绍他们的用法:包扫描+组件标注注解这种方式使我们最为常见的一种,通过两类注解配合使用。@ComponentScan注解用来标在...

2019-05-28 21:44:26 6331

原创 一文快速学习Maven核心概念

文章目录Maven核心概念构建过程的几个主要概念Maven坐标常用Maven命令依赖引入依赖依赖的范围依赖的传递性依赖的排除依赖的原则:解决jar包冲突生命周期插件和目标继承聚合Maven 是 Apache 软件基金会组织维护的一款自动化构建工具, 专注服务于 Java 平台的项目构建和依赖管理。Maven核心概念POM约定的目录结构坐标依赖管理仓库管理生命周期插件和目标...

2019-05-16 13:47:20 171

原创 RocketMQ官方教程(翻译加扩充)——简单的消息示例

文章目录添加依赖同步地发送消息异步消息发送以单向模式发送消息消费消息本翻译教程来自RocketMQ官方网站,中间会加上自己的理解,有错误或者不妥之处请及时指正。另外,本文所基于的版本是4.4.0使用RocketMQ以三种方式来发送消息:可靠同步、可靠异步和单向模式使用RocketMQ来消费消息添加依赖maven: <dependency> &l...

2019-05-12 22:03:12 343

原创 RocketMQ官方教程(翻译加扩充)——快速开始

文章目录先决条件下载并构建开启name server开启broker发送和接收消息关闭服务生产者和消费者本翻译教程来自RocketMQ官方网站,中间会加上自己的理解,有错误或者不妥之处请及时指正。另外,本文所基于的版本是4.4.0本快速入门指南是将RocketMQ配置在本地电脑上来发送和接收消息。先决条件假设本地电脑上安装了一下软件:64bit OS, Linux/Unix/Mac...

2019-05-04 21:37:32 862

原创 Spring AOP的两种实现

文章目录注解方式实现AOPxml方式实现AOPSpring AOP有两种实现方式,一种是基于注解的,另一种是基于xml的。注解方式实现AOP首先介绍基于注解的实现方式,实现需要有切面类和连接点两个主要的东西。切面类定义了在执行要拦截方法前后执行的方法。而连接点就是指要拦截的方法。连接点printRole(),首先定义一个接口:public interface RoleService ...

2019-02-21 22:04:17 218

原创 Spring装配Bean

装配BeanXML方式装配Bean装配Bean的方式分为通过XML装配和通过注解装配两种方式。通过xml装配是指在XML文件中添加bean元素,这里不详细讨论,只给出一个简单的例子:&amp;amp;lt;beans xmlns=&amp;quot;http://www.springframework.org/schema/beans&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema...

2019-02-19 20:53:52 166

原创 mybatis 映射器select语句传递多个参数

在映射器的xml文件中select语句有一个配置项叫做parameterType,它用来表示这条语句接收的参数类型。当传递的参数只有一个时,非常简单,直接在等号后面写上参数的类型即可。但是实际查询语句可能需要多个条件,也就是多个参数。下面介绍传入多个参数的几种方法。有四种方法可以实现,分别是使用map传参数、使用注解传参数、使用Java Bean传参数和使用混合方式传参数。第一种map的方式不...

2019-02-19 15:11:37 1086

原创 mybatis 创建SqlSessionFactory

创建SqlSessionFactory有两种方式:一种是通过XML,另一种是通过Java代码。String resource = "org/mybatis/example/mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSess...

2019-02-19 15:08:37 595

原创 ubuntu + windows双系统默认启动项修改方法

在安装了双系统的电脑上,我们有时需要将经常使用的系统设置为默认进入的系统,设置方法如下:首先进入Ubuntu系统环境下。打开终端。输入sudo gedit /etc/default/grub,并根据提示输入密码。在打开后的文本文件中修改GRUB_DEFAULT的默认值,原来是0,表示Ubuntu系统,若需要修改为Windows,则需要将数字修改为开机时Windows所在的位置。因为U...

2019-02-13 13:55:33 7285 4

转载 “USB共享网络,笔记本出现蓝屏重启”的解决方案(废弃)

在家里用笔记本电脑,通过手机给笔记本供网。结果通过手机热点的方式,笔记本连接后显示受限,无法使用。所以只好通过USB共享网络的方式,但是笔记本却连连出现蓝屏重启的现象。搜集百度贴吧的解决方案,原文链接如下:http://tieba.baidu.com/p/5860992303?traceid=蓝屏具体解决办法:以下为具体操作步骤:1、打开电脑的设备管理器。(控制面板→硬件和声音→设备管理器...

2019-02-01 17:11:56 3802 1

原创 我的2018年总结

前言本来没有打算总结自己的2018年,毕竟自己就是个普通的不能再普通的学生,没有什么特别值得让人关注的地方。但是今天看到了自己的好朋友昨天写了他的2018年总结,看了感觉记录一下自己的生活还是挺有意义的,所以就也打算稍微写一点。毕竟写这些主要是给自己看,激励从这个时刻起以后的自己更加上进。写总结还有一个原因就是想起了自己在本科三年级的时候在网上看到的一个博客主stormZhang,他当时也是刚...

2019-01-28 16:21:47 297 2

原创 框架学习——springmvc学习笔记

文章目录入门案例请求乱码基于注解开发封装参数基本参数数组JavaBean对象包装类型参数集合类型参数(list)集合类型参数(map)页面回显转发和重定向@ResponseBody和@RequestBody注解多视图解析ssm整合文件上传页面缓存页面静态化freemarker拦截器入门案例配置web.xml,需要配置一个核心控制器(servlet)&lt;servlet&gt; ...

2018-12-15 18:07:17 182

原创 框架学习——mybatis学习笔记

文章目录入门案例mybatis开发dao--原始开发方式mybatis开发dao--Mapper代理开发方式高级结果映射一对一映射输出映射使用resultType输出映射使用resultMap一对多映射多对多映射延时加载mybatis缓存一级缓存二级缓存mybatis与spring整合逆向工程入门案例编写映射文件&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8...

2018-12-15 18:02:19 211

原创 框架学习——Spring学习笔记

文章目录bean实例化方式bean的种类生命周期初始化和销毁BeanPostProcessor属性依赖注入构造方法setter方法集合注入注解AOP实现原理jdk动态代理cglib动态代理spring aop编程AspectJ切入点表达式基于xml基于注解JdbcTemplatedbcpc3p0JdbcDaoSupportproperties事务管理基于xml配置基于注解整合进web项目bean...

2018-12-15 17:59:34 184

原创 框架学习——Struts2框架几点总结

文章目录result元素自定义拦截器文件上传文件下载ActionContext存取数据ValueStack存取数据struts2对EL表达式的改变iterator标签的使用struts2其他一些标签struts2中的符号使用`#`$%struts2表单提交案例result元素作用:为动作指定结果视图属性name:逻辑视图的名称,对应着动作方法的返回值。默认值是success。type:结...

2018-12-15 17:55:23 224

原创 通过小案例理解注解的使用

反射注解接口java.lang.reflect.AnnotatedElement中有一些与注解相关的方法:&amp;lt;T extends Annotation&amp;gt; T getAnnotation(Class&amp;lt;T&amp;gt; annotationType)//得到指定类型的注解引用。没有返回null。Annotation[] getAnnotations()//得到所有的注解,包含从父类继...

2018-11-09 09:22:55 181

原创 Java基本数据类型对应的封装类

基本类型大小(字节)默认值封装类byte1(byte)0Byteshort2(short)0Shortint40Integerlong80LLongfloat40.0fFloatdouble80.0dDoubleboolean-falseBooleanchar2\u0000(null)...

2018-11-09 09:22:43 1004

原创 json包中JSONArray、JSONObject等类的使用

package testJson;import domain.User;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import net.sf.json.JsonConfig;import org.junit.Test;import java.util.ArrayList;import java.util....

2018-11-08 20:06:29 725

原创 转账业务(涉及事务、ThreadLocal、动态代理)

转账业务是一种事务,所以需要保证数据的安全性。在转账中途如果出现错误,需要将数据进行回滚。本次示例用到了事务、ThreadLocal、动态代理等多个概念。本次实例需要用到的包如下:lib/c3p0-0.9.1.2.jar c3p0需要对应的配置文件:c3p0-config.xml,其中配置了数据库连接、连接池大小等参数lib/commons-dbutils-1.4.jarlib/my...

2018-11-08 19:58:16 551

原创 使用fileupload包进行文件上传

文件上传的必要前提:提供form表单,method必须是postform表单的enctype必须是multipart/form-data(默认是application/x-www-form-urlencoded)提供input type="file"类的上传输入域下面是实现文件上传的示例代码:需要导入的包如下:WEB-INF/lib/commons-fileupload-1....

2018-11-08 19:53:37 393

空空如也

空空如也

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

TA关注的人

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