自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vagrant执行“vagrant box add“报“An error occurred while downloading the remote file”错误

由于box文件未写成绝对路径,vagrant默认远程下载该box文件,导致该报错。我已经将需要的box文件下载在本地,所以最后的CentOS-7.VMwareFusion.box文件所在位置写成本地绝对路径,系统不再试图远程下载该box文件,执行成功,如下图:如有错误,欢迎指正end...

2021-07-07 16:14:59 2818

原创 【一道算法题】有效的括号

一道来自leetcode的题,题目如下:第一种思路:第一种思路是我自己最先考虑到的思路,合格的字符串最内部,一定有一个最小单元是相对应的,不断把这个最小单元提出来,通过递归将剩余的字符串进行再一次操作,直到空串,这样就是一个合格字符串,否则不合格。相关代码如下: public boolean isValid(String s) { if(s != null && s.length() == 0){ return tr..

2020-06-24 17:36:06 320

原创 基于H5安卓微信内嵌浏览器详情页返回列表页定位到原浏览位置解决方案(关键字:mui、双滚动条、sessionStorage)

使用框架:muigithub地址:https://github.com/dcloudio/mui需求:有一个列表页,可通过下拉刷新进行翻页,但由于苹果端和安卓端微信内嵌浏览器内核不同,导致相同返回按钮,不同处理过程。我希望在列表页点击详情页,点击返回按钮后还回到原来的浏览位置。苹果微信端是原生支持回到原来浏览位置,但安卓微信端会重新加载页面,所以安卓微信端需要进行特殊处理,达到跳转回原...

2020-04-02 18:40:51 1550

原创 JavaCV截取的视频帧(Frame)为无效帧

使用JavaCV的FFmpegFrameGrabber遍历视频帧(Frame)并截取帧转化为图片,在这个过程中,某些视频帧转化为图片过程中会报 空指针异常(NullPointerException),这也许是由当前帧无效造成的,我们可以通过判断org.bytedeco.javacv.Frame 里的image属性是否为null来判断视频是否为有效帧。如果frame.image == null,...

2019-11-03 11:33:11 2554 5

原创 Java Web世界中PDF处理及预览那些事

在浏览器上预览PDF文件,某些情况下来说是一件比较简单的事情,为什么说某些情况下呢,大多数情况下,由于现代浏览器提供的优秀功能,预览PDF文件是一件简单的事情。但某些情况下,由于PDF文件的特殊,我们在操作程序修改或签名PDF文件后的预览功能会出现这样那样的问题,或某些情况下,我们不希望我们的PDF文件被客户直接下载,这时候我们也不能用最直接的方式将PDF文件直接暴露给客户,或者,我们需要在移...

2019-10-26 21:58:11 1271

原创 jQuery Validate插件 死循环问题

jQuery Validate插件在$("#form").validate()方法中,如果使用$("form").submit()提交表单会引起死循环,而使用方法实参变量form提交form.submit()不会引起死循环调用。如有错误,欢迎指正...

2019-09-28 19:48:39 234

原创 从DispatcherServlet开始到结束,浅谈springmvc执行流程

这篇文章,DispatcherServlet是个重点,谈springmvc绕不开他,我们使用他作为springmvc接管web项目request的入口(在web.xml)中配置。所以,接下来,将这位老大哥的身子贴在下面,请大家文明阅览:protected void doDispatch(HttpServletRequest request, HttpServletResponse res...

2019-09-21 11:49:24 413

原创 面试题:用三个线程按顺序循环打印 abc 三个字母,比如 abcabcabc

揣摩出题人意图,应该希望你用wait notify notifyAll来一环套一环进行线程通信,从而按顺序循环打印abc,也就是说,打印了a就打印b然后打印c。思路就是我们三个线程用同一把锁,刚开始,a线程获取锁,打印a,设置下一个打印b,并同时唤醒bc,这时候,bc线程都阻塞等待,如果c抢到了锁,进入代码执行,由于不符合条件,会wait(同时释放锁),直到b抢到锁,符合条件打印,如此,顺序执...

2019-03-12 16:03:02 4577

原创 javafx tableview 双击(double clicks)行事件且获取该行数据

原链接:https://stackoverflow.com/questions/26563390/detect-doubleclick-on-row-of-tableview-javafx dataTable.setRowFactory( tv -> {            TableRow<EmailInfo> row = new TableRow<Ema...

2018-08-24 17:15:11 6533 3

原创 锁——可重入锁(ReentrantLock)和可重入读写锁(ReentrantReadWriteLock)的区别

可重入读写锁是可重入锁功能的增强。可重入锁分为读锁和写锁,他也可以完成可重入锁的功能,但对锁粒度进行了细分。比如,有个功能我们使用可重入锁完成了,这个功能我们用可重入锁的写锁同样能完成(读锁不能)。但假如有个功能,我们要区分读和写,因为有时候多线程读完全没必要互斥。这时候就需要用到可重入读写锁,提高程序的效率。 大致如此,如有错误,欢迎指正end...

2018-08-03 10:11:48 2126 1

原创 锁——ReentrantReadWriteLock 可重入读写锁

ReentrantReadWriteLock 为可重入读写锁,实现ReadWriteLock接口,他包含一个读锁(ReentrantReadWriteLock.ReadLock),一个写锁(ReentrantReadWriteLock.WriteLock),实现Lock接口。读写锁,读读不互斥,读写互斥,写写互斥。示例代码如下:import java.util.concurrent...

2018-08-03 10:02:45 596

原创 锁——ReentrantLock 可重入锁

ReentrantLock是一个可重入(re entrant)锁(lock),怎么解释可重入呢?一个线程是否可多次获得同一个锁方法a和方法b被相同可重入锁锁定,a方法里调用了b方法,线程1调用a方法,如果是不可重入锁,会在b方法处阻塞,而可重入锁,由于ab方法持有的锁和调用线程一样,所以可以无阻碍执行。示例代码:import java.util.concurrent.locks...

2018-08-03 09:54:31 416

原创 oim(类QQ)开源项目源码阅读笔记(1)——登录部分

oim项目是码云上相当优秀的开源项目,项目完整,有客户端,服务器端web端,项目地址:https://gitee.com/oimchat因为最近打算使用javafx写个客户端,所以看了一下该项目基于java的pc客户端源码,客户端项目如下:接下来简单说一下登录部分:客户端与服务端通信使用mina框架,通过main入口运行程序,执行代码launch(args);然后调用start方法进...

2018-07-27 15:49:16 1119

原创 java文件共享锁 独占锁 NonReadableChannelException NonWritableChannelException情况分析说明

共享锁 所有共享锁持有者可读    FileOutputStream.getChannel().tryLock(0L, Long.MAX_VALUE, true)获得共享锁, NonReadableChannelException异常,共享锁可读不可写,获取共享锁,必须要包含read channel     FileInputStream.getChannel().tryLock(0L, L...

2018-07-25 17:07:27 4694

原创 锁——FileLock 文件锁

文件锁(FileLock),使用文件锁锁住文件后,其他进程不能操作读或写文件,除非当前进程release或unlock文件锁。前两天看码云上的oim项目源码,该项目即使用了文件锁来防止同一账户重复登录(当然,该方法是不太合理的,因为用户换一台电脑或修改锁文件路径即可同一账户重复登录,但也是一个文件锁使用的不错的例子)文件锁分为共享锁、独占锁,加锁方式有阻塞(lock())和非阻塞(tryL...

2018-07-25 14:55:19 2169

原创 高可用架构图一图三用(keepalived+haproxy,keepalived+lvs,heartbeat+haproxy)

keepalived+haproxy+tomcat/其他web服务 keepalived+lvs+tomcat/其他web服务   heartbeat+haproxy+tomcat/其他web服务  实现高可用,一个是防止单点故障,一个是实现负载均衡。当然负载均衡也可以防止单点故障,但负载均衡器本来就会产生单点故障,用一个产生问题的方法解决产生的...

2018-07-19 17:22:50 2276

原创 java 列出邮箱所有默认文件夹名称

使用Javamail收取邮件,要知道邮箱文件夹名称,然后使用列如: Folder folder = store.getFolder(“垃圾箱”);就可以,那怎样知道folder name呢,方法如下:         Folder defaultFolder = store.getDefaultFolder(); Folder[] folders = defaultFolder.list()...

2018-07-16 15:43:26 1593 1

原创 发送邮件异常:connection closed by the remote host

今天邮件服务器向qq邮箱发送邮件,出现错误信息    connection closed by the remote host连接被远程主机关闭用的linux系统,系统上不只一个ip,发邮件用的另一个ip,使用如下Telnet命令查看详细错误过程:telnet -b 源ip mx1.qq.com 25腾讯服务器返回信息如下:550 Ip frequency limited [NDEMAH4+gqE...

2018-05-08 15:24:40 7578 1

原创 分布式事务解决方案——基于可靠消息的最终一致性方案异常分析(01理论)

什么时候使用分布式?业务太复杂,对业务进行拆分,进行服务化,对数据库进行拆分,水平拆分或垂直拆分。不管怎么拆分吧,拆出了其他问题,当我们系统最初级阶段,所有数据都在一个数据库中,进行事务一致性控制很容易,但是当我们分库,分表后,曾经的兄弟姐妹表们都风流云散了,如果业务执行失败,你再给我一个回滚试试,离得十万八千里,想全部一起控制,有心无力,鞭长莫及。这时候就出现了分布式事务解决方案,今天说的基于可...

2018-05-06 11:33:17 1004

原创 uploadPreview js插件实现图片上传预览功能原理

要实现图片上传预览功能,在上传到服务器之前,可以先预览一下待上传图片,然后决定是否上传。插件使用很简单,引入插件js就可以。说一下原理,原理清楚,插件不插件也就没关系了。示例如下(注:为了简便,引入了jquery,找一份jquery文件放在该测试html文件相同目录下即可) new document

2018-05-03 15:54:13 3409 1

原创 八皇后问题及n皇后问题解法及效率优化笔记(1)

八皇后问题是一个很有趣的问题,话说,有一个八行八列的棋盘,有八个皇后棋子,这八个棋子摆在这八行八列的棋盘上,且行列斜线都不能重合,由此,推及到n皇后问题。八皇后的程序效率问题是一个相当值得研究的问题,程序效率的高低和程序算法密切相关,由此,研究程序效率最后变成了算法的研究。有人将类似追求效率极致的编程称为极限编程。一个问题的解法千千万,但效率最好的却不好发现。下面,是我关于八皇后及n皇后问题解法的...

2018-03-14 16:12:28 1530

原创 基于java的当前登录qq客户端账号检测

最近需要写一个本机qq客户端登录检测的功能,首先,在点击打开链接找到了如下C语言代码:#include <windows.h>#include <stdio.h>#include <string.h> BOOL CALLBACK enumwindowsproc(HWND hwnd,LPARAM lParam){ char name[255]={0}...

2018-03-07 16:08:49 1000 1

原创 Spring框架常用注解及通配符总结

@Autowired 自动注入  默认是类型匹配    使用配置文件需要set ,使用注解不需要,只需要类属性               @Autowired可以和@Qualifier("beanName") 配合着使用@Qualifier("beanName")     多个相同类型的bean,标注名称@Scope            单例模式还是原型模式@Resource    @Auto...

2018-02-27 21:50:52 606

原创 java框架漫谈

写j2ee系统,使用框架有时候也许会产生困惑,这框架这么复杂,为什么要用他们。感觉框架复杂的原因,一是对框架使用不熟练,二是没用过比框架更难用的东西。没有颠沛流离过,不容易体会到安居乐业的幸福。当纯用servlet+jsp写几个系统,再回来用struts,只能说,爽!当纯用jdbc增删改查,再回来用ORM/半ORM框架时,还是爽!(当然,如果你自己技术很强,自己做了封装又另当别论)网上流传的很广的...

2018-02-27 21:16:06 233

原创 java基于递归思想的文件拷贝

这段代码原本目的是扫描是否插入U盘,插入的话,自动将U盘文件全部备份到目标文件夹中。文件目录是树状结构,很有层次感,且每层操作大致相同。复制目录中的文件,不是创建文件夹操作,就是复制文件操作,所以递归思想在这里很适用。代码如下:/**** * * @author wjw * @since 2018-02-27 * */public class Copy { public stat...

2018-02-27 17:38:17 221

原创 java关于局部变量必须初始化赋初值及成员变量不必须该操作的原理浅解析

一个我们编写的java源码类(机器码)要想被正式运行,必须先编译成字节码(class文件),然后虚拟机经过类加载过程后才能真正使用。而这个类加载过程包括了对字节码  加载 验证 准备 解析 初始化等过程。在这个过程中,我们会对我们定义的成员变量进行两次初始化,一次赋默认初值(0值,boolean赋为false),一次赋我们定义的初值,如:class Test{int a = 2;}

2018-02-02 22:14:43 6894 6

原创 java网络图片抓取及其引发的相关问题

jsoup解析html

2017-12-16 09:26:15 236

原创 jsoup解析html简单总结

jsoup(Java HTML Parser)java html解析器。使用jsoup解析html很简单,只要抓到最重要的点,剩下的代码很容易就顺下来。Document document = Jsoup.parse(html);通过Jsoup中静态方法解析HTML文本内容,解析成Document对象,接下来操作就是在玩儿这个Document对象。按照解析html中的图片地址

2017-12-16 08:45:27 693

原创 对struts2中ActionContext模拟及ThreadLocal的使用分析

struts2中,一个用户访问,对应一个线程,我们经常使用ActionContext来取Session,取我们特定线程的数据,那么,这一切究竟是怎样完成的呢,通过一个对struts2 ActionContext类的模拟,解释一下这个事情。下面粗略的模拟了100个用户在5秒钟内随机访问系统的场景,以及对struts2中Session的使用代码如下:import java.util

2017-12-07 16:17:30 619

原创 J2SE桌面小程序包含配置文件打成jar包引出的一系列问题(2)-maven打jar包 getResource为null问题解析

上一篇博文最后说了个jar可执行文件getResource("/")为空的问题,在IDE中这个问题是不存在的,那为什么打成jar包就出现这个问题呢?这还要说一下我用的打包工具--maven其实,一般情况下,java project打出来的jar包是没这个问题的,但为什么maven打出来的就不行了呢。这里要说到一个文件,其实用maven打jar出现的其他某些运行问题也是这个文件造成的,这个文

2017-11-15 17:01:49 1294 1

原创 J2SE桌面小程序包含配置文件打成jar包引出的一系列问题(1)

用swing写了个j2se的桌面小程序,想要保存程序的一些配置信息,内嵌数据库有点大材小用,于是考虑使用xml文件保存配置信息,万万没想到啊。。。开始,想把配置文件存在classpath下,考虑这样可以内嵌在jar包中,在IDE中调试的时候,读配置文件,写配置文件都没毛病,但是当打成jar包运行的时候,读配置文件可以,写配置文件报FileNotFoundException。为什么不打成jar包运行...

2017-11-15 16:13:45 185

原创 基于java的开源论坛jforum的安装及简介

安装要有安装入口,jforum的安装入口是install.jsp.里面只有一句跳转:访问install.jsp,这是安装入口,我们通过这个安装入口进行了数据库安装,初始化论坛配置等一系列操作。在安装过程中,我使用mysql数据库,所以数据库类型选择的MySql,但是在后面初始化数据库表的过程中出现了字段不一致错误,官网上查了一下,用了HSQLDB问题解决。网站链接代

2017-09-10 10:23:00 737

原创 匿名内部类访问方法成员变量需要加final的原因及证明

在java编程中,没用的类定义太多对系统来说也是一个负担,这时候我们可以通过定义匿名内部类来简化编程,但匿名内部类访问外部方法的成员变量时都要求外部成员变量添加final修饰符,final修饰变量代表该变量只能被初始化一次,以后不能被修改。但为什么匿名内部类访问外部成员变量就不允许他修改了呢?接下来这个例子应该足够把这些说清楚了:示例代码:public class InnerFinal

2017-08-17 16:31:26 11310 7

原创 JAVA 给图片添加水印

现在网络上的图片,为了防止其他人盗用,可以添加水印,比如我用csdn写博文,他就会自动给我上传的图片添加水印。前段时间写过一篇  JAVA 绘制验证码图像及解决黑色背景问题   ,在这篇的基础上,理解添加水印的功能更加容易。先上代码示例:/***** * 给图片添加文字水印 * @author wjw * */public class ImageUtils { pub

2017-08-10 21:07:49 2466 1

原创 在Eclipse中使用基于JAVA的OpenCV

对于OpenCV来说,java是后娘养的,今天按照他的api中的Using OpenCV Java with Eclipse说一下在java中怎样使用OpenCV。下面尽量照着他的官方文档亦步亦趋的翻译begin从2.4.4版本开始,OpenCV支持java,在该教程中,我将会解释怎样在Windows下,使用Eclipse搭建OpenCV java程序开发环境。你可以享受垃

2017-08-10 11:12:50 624 1

原创 用于嵌入Flash (swf) 文件的开源JavaScript框架swfobject

我自己也没真正在项目中使用过swfobject这款开源javascript框架,看到有使用该框架做视频类项目的,于是大致看了一下,记录下来,以后用到的话能快速上手.先介绍一下swfobject框架:An open source Javascript framework for detecting the Adobe Flash Player plugin and embedding Fla

2017-08-09 11:07:58 824

原创 设计模式(23)--访问者模式

访问者模式,用来解决多个访问者访问多个不同元素的问题。访问者模式引入了访问者角色和被访问者角色,不同访问者访问元素的方式不同。举个例子(该例子来源于 《C#设计模式》刘伟 胡志刚 阎朝坤):公司员工分为全职员工和兼职员工(这里员工就是被访问者),公司有财务部结算工资,人力资源部计算工作时长(这里财务部和人力资源部为访问者),于是就有了不同访问者访问不同被访问者的情况。访问者模式UML类

2017-08-06 19:03:05 256

原创 设计模式(22)--模板方法模式

模板方法,即通过父类定义的模板来执行算法或方法。而这个模板,被称作模板方法,这也是名字的由来。举个例子,本人懒(懒人创造世界),还用上一个策略模式的例子,给他稍作修改:小明   走路(骑自行车或坐公交车) 去上学。这时候,可以定义三个方法,一,getPerson(),不一定是小明,也可能是其他人,howToGetToSchool()方法,选择哪种方式上学,where()方法,不一定去上学,

2017-08-06 10:23:11 205

原创 设计模式(21)--策略模式

策略模式即解决问题的策略。当我们需要解决某个问题时,可能会有多种解决问题的办法,这时候,可以将每个办法看成一个策略,我们可以选择其中一个合适策略来解决问题。同时,我们可以方便的更换策略活或者增加策略。策略模式比较容易理解,该模式通过增加一个抽象策略类来定义策略角色。而我们面向抽象编程,使策略模式变得容易扩展。举例:小明去上学,可以走路,可以骑自行车,可以做公交车,他的每一种去学校方式都

2017-08-05 16:01:35 213

原创 设计模式(20)--状态模式

状态模式,事物都是不断在演变,面向对象是对现实世界的抽象,所以对象某些时候也会发生状态改变,为了容易处理这些状态发生改变的的这些对象,诞生了状态模式。状态模式即系统中某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不同时可以使用状态模式。状态模式将发生改变的状态抽象出来形成一个状态类,便于进行处理。状态模式UML类图:示例代码:环境类:/**

2017-08-03 21:25:20 199

空空如也

空空如也

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

TA关注的人

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