自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Proxyee-down的下载与安装教程

这个工具的名字是 proxyee-down,是在 GitHub 上发现的,工具的地址是:https://github.com/proxyee-down-org/proxyee-down下载安装教程下wiki有:https://github.com/proxyee-down-org/proxyee-down/wiki/软件下载与运行本博客Proxyee-down版本为:2.54Proxy...

2019-04-13 00:04:23 20686 23

原创 Java学习必备书籍推荐终极版!!!

Java基础《Head First Java》[1](推荐,豆瓣评分 8.7,1.0K+人评价):可以说是我的 Java 启蒙书籍了,特别适合新手读当然也适合我们用来温故 Java 知识点。《Java 核心技术卷 1+卷 2》[2](推荐): 很棒的两本书,建议有点 Java 基础之后再读,介绍的还是比较深入的,非常推荐。这两本书我一般也会用来巩固知识点,是两本适合放在自己身边的好书。《...

2019-04-27 23:21:39 339

原创 springboot项目中报org.apache.catalina.LifecycleException: Protocol handler start faile异常

异常信息:org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connector.Connector.startInternal(Connector.java:1008) ~[tomcat-embed-core-9.0.17.jar:9.0.17] at or...

2019-04-27 01:44:30 2304 2

原创 springboot集成mysql时报CLIENT_PLUGIN_AUTH is required异常处理

异常信息:java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) ~[mysql-connector-java-8.0.15.jar:8.0....

2019-04-27 00:59:23 714

原创 idea+springboot+mybatis+maven构建web项目

1、New Project这里选择web,mysql,mybatis填好Group 和 Artifact按照自己需求配置项目结构:未完待续。。。

2019-04-26 00:54:57 1422

原创 Java实现http中的文件下载断点续传

实现思路:1、创建一个下载任务类DownLoadTaskInfo(用于记录文件保存的目录,文件下载URL,文件名)2、创建一个FileAccess 用于随机访问文件,向文件写入内容。3、创建一个下载任务执行线程DownLoadTaskExecution,此线程主要做如下工作接受指定 下载子线程个数首先判断下载的文件是否存在,如果下载的文件已经存在,则继续判断它对应的xxx.in...

2019-04-24 01:01:45 2311 12

原创 Java使用缓冲字节流来实现视频、音频、图片的复制粘贴

InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。OutputSteam:继承自OutputStream的流都是程序用于向外输出数据的,且数据单位都是字节(8位)。Reader:继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符(16位)。Writer:继承自Writer的流都是程序用于向外输出数据的,且数据单位...

2019-04-24 00:11:37 655

原创 使用HashMap在什么情况会出现内存泄漏?

Q:在Java中怎么可以产生内存泄露?A:Java中,造成内存泄露的原因有很多种。典型的例子是一个没有实现hasCode和equals方法的Key类在HashMap中保存的情况。最后会生成很多重复的对象。所有的内存泄露最后都会抛出OutOfMemoryError异常,下面通过一段简短的通过无限循环模拟内存泄露的例子说明一下。package com.test;import java.util...

2019-04-21 01:25:23 5476 2

原创 git使用之(八)github或者gitlab设置添加SSH,避免每次提交重复输入用户名

克隆项目二种方式:1、使用https url克隆, 复制https url 然后到 git clone https-url2、使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH key, 你必须是这个项目的拥有者。否则你是无法添加 SSH key 的。https 和 SSH 的区别:1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的...

2019-04-17 21:57:09 189

原创 git使用之(七)使用post receive hook同步Git仓库

工作原因,笔者需实现多个Git仓库数据的同步。前面我们已经讲过使用GitLab Mirrors同步多个Git仓库( http://www.itmuch.com/work/git-repo-sync-with-gitlab-mirrors/ ),不过毕竟是定时任务,有一定的延时。本文探讨如何使用post receive hook同步多个Git仓库。方便起见:GitLab仓库(原始仓库):ht...

2019-04-17 21:49:14 238

原创 git使用之(五)合并两个不相关的Git仓库

大致是这样的场景:有两个仓库,一个Git仓库,一个SVN仓库,都是非空的。现在要把SVN仓库中的内容合入Git仓库中,并保留提交记录。听起来有点奇怪,不过现实中的问题总是千奇百怪加变态。既然遇到了,总得想办法解决。花了将近1个小时,简单总结一下。按照问题的描述,问题可以演变成两部分:将SVN仓库转换成Git仓库,这一步很简单。百度说:上我吧,我能给你100页的答案;谷歌说:上我吧,我能给你1...

2019-04-17 21:15:51 533

原创 git使用之(四)git的那些冷门玩法

其实也不是很冷门,只是要实现以下需求时,笔者一时间竟然想不起来,还要借助搜索引擎,于是记录一下,算是备忘。希望对大家也有帮助。强制覆盖master分支最近对某个项目进行了升级,由于改动太多了,导致了大量的冲突,合并比较费劲。于是想用开发分支强制覆盖master分支,以下是步骤。解决方案1、切换到develop分支下,并保证本地已经同步了远端develop的最新代码。git checkou...

2019-04-16 23:18:25 96

原创 JAVA设计模式之(十八)命令模式

本文继续介绍23种设计模式系列之命令模式。定义将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。角色Command定义命令的接口,声明执行的方法。ConcreteCommand命令接口实现对象,是“虚”的实现;通常会持有接收者,并调用接收者的功能来完成命令要执行...

2019-04-16 00:12:47 75

原创 责任链模式实现的三种方式

责任链模式责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。这里就不再过多的介绍什么是责任链模式,主要来说说java中如何编写。主要从下面3个框架中的代码中介绍。servlet中的filterdubbo中的filtermybatis中的plugin这3个框架在实现责任链方...

2019-04-14 23:12:33 295

原创 JAVA设计模式之(十七)责任链模式

本文继续介绍23种设计模式系列之责任链模式。责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。Tomcat中的Filter就是使用了责任链模式,创建一个Filte...

2019-04-14 23:05:31 146

原创 “996”程序员的一次反抗!!!

一、前言2019年3月27日,一个名为996ICU的项目在GitHub上传开。在这个项目指向的域名页面上,发起人这样写到:“什么是996.ICU?工作996,生病ICU”。他将996工作制下最低72个工时与《劳动合同法》等条文对比,并呼吁“程序员生命为重”。“996ICU”成为GitHub上最受欢迎的项目,越来越多的人给这个项目“加星”,这是程序员们对一个开源项目表示肯定或支持的方式,类似于“...

2019-04-14 01:45:00 301

原创 java实现整数分解几个质数的积并统计3出现的次数

上一篇文章已经实现了一个整数分解为两个质数乘积,但针对这张图片,还有一个附加题,统计3出现的次数。下面我们来看下思路:最优思路:从数字规律着手,提高时间效率如果第i位(从低位向高位开始)上的数字是0,那么第i位可能出现1的次数仅由更高位决定(如果没有高位,则视高位为0),等于更高位数字*当前位数的权重10^(i-1);如果第i位上的数字为1,则第i位上可能出现1的次数不仅受更高位影响还受...

2019-04-12 20:52:03 136

原创 java实现一个整数分解为两个质数乘积

看到朋友在群里发的这个图片,笔算了半天索性用代码实现!!!如图哈哈哈哈哈哈哈哈哈代码如下:package com.test;/** * @author riemann * @date 2019/04/11 23:55 */public class TestPrimeNumber { public static void main(String[] args) { ...

2019-04-12 01:35:31 1688

原创 Maven创建项目时出现Generating project in Interactive mode就一直卡住的解决方案

使用maven命令在创建项目的时候出现Generating project in Interactive mode然后就一直卡住原因是:加个参数 -DarchetypeCatalog=internal 让它不要从远程服务器上取catalog:最终的命令:mvn archetype:generate -DarchetypeArtifactId=maven-archetype-qu...

2019-04-10 23:43:37 104

原创 Maven的settings.xml配置(指定本地仓库、阿里云镜像设置)

一、Maven安装目录与用户安装目录我的Maven安装目录:(%MAVEN_HOME%)D:\apache-maven-3.5.4我的用户安装目录:(${user.home})C:\Users\Administrator打开用户目录下的settings.xml。二、指定本地仓库1、本机新建一个文件夹当做本地仓库我建的文件夹路径为:D:\Maven2、在settings.xml中添加l...

2019-04-10 23:38:19 1045

原创 Java中a==b,a.equals(b)和Objects.equals(a,b)的使用

一、概念equals()方法是对象比较函数,按照对象比较,系统默认四个类覆写该方法:Integer , String,Date,file 没有覆写equals()方法的类会调用Object的equals()方法,Object类的equals()方法直接用==实现比较过程:1.首先判断两个比较对象类型是否相同,如果不同返回false。2.如果相同继续判断对象内容是否相同,如果相同返回true...

2019-04-10 00:54:34 1297

原创 Java新特性:Java8函数式接口与Lambda表达式(一)

摘要何为函数式接口?什么是lambda表达式,lambda表达式的本质;函数式接口与lambda表达式的联系:lambda是实现函数式接口的一个快捷方式,可以作为函数式接口的一个实例;常用Java8内置的函数式接口 Function、Predicate、Consumer 和 Supplier 介绍;一、函数式接口何为函数式接口?函数式接口也是 java interface 的一...

2019-04-09 00:09:39 180

原创 JAVA设计模式之(十六)迭代子模式

本文继续介绍23种设计模式系列之迭代子模式。迭代子模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation)。一、聚集和JAVA聚集多个对象聚在一起形成的总体称之为聚集(Aggregate),聚集对象是能够包容一组对象的容器对象。聚集依赖于聚集结构的抽象化,具有复杂化和多样性。数组...

2019-04-07 18:29:49 91

原创 JAVA设计模式之(十五)观察者模式

本文继续介绍23种设计模式系列之观察者模式。一、初步认识观察者模式的定义:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。大白话:其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。二、模式的结构图三、可以看到,该模式包含四个角色抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象的...

2019-04-07 17:09:34 97

原创 Java中BigDecimal详解

一、引言float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。先看下面代码:public static void main(String[] arg...

2019-04-06 23:17:44 67

原创 js数组与字符串的相互转换

一、数组转字符串需要将数组元素用某个字符连接成字符串,示例代码如下:var x, y,z; x = new Array(a,b,c,d); y = a.join('-'); //a-b-c-d 使用-拼接数组元素z = a.join(''); //abcd二、字符串转数组实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下:var str = 'ab+...

2019-04-06 23:04:31 62

原创 JAVA设计模式之(十四)模板方法模式

本文继续介绍23种设计模式系列之模板方法模式。概述模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。比如定义一个操作中的算法的骨架,将步骤延迟到子类中。模板方法使得子类能够不去改变一个算法的结构即可重定义...

2019-04-06 01:03:51 97

原创 JAVA设计模式之(十三)策略模式

本文继续介绍23种设计模式系列之策略模式。背景在软件开发中常常遇到这种情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封装在一个...

2019-04-05 15:16:13 114

原创 JAVA设计模式之(十二)享元模式

本文继续介绍23种设计模式系列之享元模式。解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那么就大大节约了资源。在Fl...

2019-04-05 12:37:22 73

原创 JAVA设计模式之(十一)组合模式

本文继续介绍23种设计模式系列之组合模式。先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。”就拿剪发办卡的事情来分析一下吧。首先,一张卡可以在总部,分店,加盟店使用,那么总部可以刷卡,分店也可以刷卡,加盟店也可以刷卡,这个属性结构的店面层级关系就明确啦。那么,总店刷卡消费与分店刷卡消费是一样的道理,那么总...

2019-04-05 00:10:07 68

原创 JAVA设计模式之(十)桥接模式

本文继续介绍23种设计模式系列之桥接模式。桥接模式(Bridge)是一种结构型设计模式。Bridge模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。它的主要特点是把抽象(Abstraction)与行为实现(Implementation)分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展。桥接模式的角色和职责:1.Client 调用端这是Bridg...

2019-04-04 23:24:36 88

原创 JAVA设计模式之(九)门面模式(外观模式)

本文继续介绍23种设计模式系列之门面模式(外观模式)。医院的例子现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊、划价、化验、收费、取药等。看病的病人要与这些部门打交道,就如同一个子系统的客户端与一个子系统的各个类打交道一样,不是一件容易的事情。首先病人...

2019-04-04 22:57:04 118

原创 PowerDesigner证书过期的解决方法——替换pdflm16.dll文件

PowerDesigner证书过期怎么办?不需要重新安装,也不需要虚拟机,只要走打开文件安装路径,16 版的话替换掉原来的pdflm16.dll即可,其他版本也是替换掉对应的,比如12 版是替换掉pdflm12.dll文件。其实也可以直接修改这个文件里的一个语句,12版的话是:修改安装目录下的pdflm12.dll文件,使用二进制编辑器打开此文件,查找:83 C4 14 8B 85 E4 FE ...

2019-04-04 22:16:48 2051 5

原创 git使用之(三)git的版本回退

版本回退1、没有push的情况下:当前分支提交了多次,当想返回到某一个提交记录的时候,通过git log可查看提交的历史记录$ git logcommit 7a2a6ea2b361179161f15c182ee3ae705ee07f43Author: xxxxxx<xxxxxx@gmail.com>Date: Wed Jan 20 14:40:20 2016 +...

2019-04-02 23:54:26 123

原创 git使用之(二)合并分支冲突与处理

合并分支冲突与处理对于一个远程库,比如test,有master,dev,newbranch这三个分支。在master分支上修改Read.txt文件后,切换到dev上也修改Read.txt文件。切回master分支后执行:git merge dev得到结果:$ git merge devAuto-merging Read.txtCONFLICT (content): Merge con...

2019-04-02 23:41:25 289

原创 git使用之(一)git的创建与分支操作

一、git的创建与分支操作1、在远程库中创立一个库,riemannTest2、在本地中,新建一个叫riemannTest 的文件夹作为本地库,在riemannTest 文件夹内使用如下操作拉取远程库的分支:git init //创建空的.gitgit remote add <远程端名字> <地址>如 git remote add https://github.co...

2019-04-02 23:35:39 377

原创 Java中的SSM框架面试题

一、Spring面试题1、Spring 在ssm中起什么作用?Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:1、IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory。2、AOP:面向切面编程2、Spring的事务?编...

2019-04-01 23:31:47 136

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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