自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 AHK 使用笔记

主要用途热键(hotkey):用来触发操作的按键或组合键,也就是快捷键。命令:你为某个热键指定的一个动作(action),比如打开程序,打开网页等。热字串(hotstring):类似于热键,当你输入热字串并按下回车或空格后触发相应的命令。符号# 表示 Windows 键,#后紧跟着 h 表示组合键。符号::用来分隔热键和命令(左边是热键,右边是命令)。Run 命令用来打开一个文件或网页,中间空一个空格。; Win--->#; Shift--->+; Ctrl--->^

2021-09-07 20:59:42 904

原创 Spring 类路径前缀的区别

Spring 类路径前缀的区别classpath*:conf/appContext.xmlclasspath:conf/appContext.xmlclasspath*:conf/appContext.xml类路径下所有 jar 中 conf 文件夹下的所有 appContext.xml文件都将被查找并加入到一个大的应用程序上下文中。classpath:conf/appContext.xml只加载在你的类路径中找到的第一个 appContext.xml 文件。参考 spring resource

2021-08-23 22:17:23 165

原创 Maven 聚合和继承

一、聚合为了方便一组项目进行统一的操作而作为一个大的整体; 字面理解就是“聚在一起合作完成工作”,就是将子模块聚集起来完成相应的项目需求Maven约定:1、首先聚合模块打包方式必须为pom,否则无法构建2、必须有<modules>元素,它是实现聚合的最核心配置。这里可以声明多个<module>元素。每个module的值都是一个当前pom的相对目录。模块所处...

2019-09-15 20:27:46 158

原创 防御性编程

防御性编程是防御式设计的一种形式,用来确保软件在未知的环境中能继续运行。防御性编程的实践往往用于需要高可用性、安全性、保密性的地方。—— 维基百科Essential security skills for Java developers:Input handlingAuthentication and session managementAccess controlErro...

2019-09-15 20:27:01 708

原创 Python 的虚拟环境工具 virtualenv

virtualenv :虚拟环境工具virtualenvwrapper:虚拟环境管理工具创建一个 virtualenvvirtualenv <virtualenv_name>进入虚拟环境 2.1 切换到创建的虚拟环境的 Scripts 目录下 2.2 执行activate(virtualenv_name)退出虚拟环境 执行deactivate...

2019-09-15 20:24:56 149

原创 爬虫小知识

用Scrapy shell调试xpath在命令行键入scrapy shell添加UserAgent和请求头的方法scrapy shell -s USER_AGENT=’Mozilla/5.0’

2019-09-08 23:10:06 140

原创 重构的五个问题

何谓重构?根据上下文不同, 名词: 对软件内部的结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。动词: 使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。为何重构?改进软件设计 增强可理解性 帮助找到Bug 提高编程速度何时重构?三次法则添加功能时 修补错误时 复审代码时何处重构?如何重构?...

2019-09-08 23:09:06 300

原创 build vs compile

一般来说,它意味着从开发人员生成的源文件开始,然后以可以部署的安装包结束。开发人员以人类可读的编程语言编写源代码,然后需要对其进行进一步处理,以便将其部署到生产服务器。软件构建(也称为集成)是获取构成应用程序的所有源代码文件并将其编译为构建工件(如二进制文件或可执行文件)的过程。“构建”是一个涵盖创建软件“可交付”所需的所有步骤的过程。在Java世界中,这通常包括:Generating ...

2019-08-30 23:55:17 474

原创 工厂方法模式(Factory Method)

简单工厂方法(非设计模式)静态工厂方法(非设计模式)工厂方法模式(Factory Method)意图定义用于创建对象的接口,但让子类决定实例化哪个类。说明它提供了一种将实例化逻辑委托给子类的方法。工厂方法模式是一种创建模式,它使用工厂方法来处理创建对象的问题,而无需指定将要创建的对象的确切类。【参考资料】java-design-patterns-factory-method...

2019-08-30 23:53:13 145

原创 Email

简单邮件系统:用户代理 邮件服务器 邮件传输协议

2019-08-29 22:56:45 362

原创 IntelliJ IDEA设置JVM运行参数

idea64.exe.vmoptions的默认内容custom IntelliJ IDEA VM options-Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=...

2019-08-28 20:09:07 688

原创 AI、机器学习、深度学习

AI:让机器展现出人类的智力机器学习:抵达AI目标的一条路径深度学习:实现机器学习的技术

2019-08-20 21:47:55 184

翻译 spring-boot-starter-parent

spring-boot-starter-parent 项目是一个特殊的 starter project - 它为我们的应用程序提供了默认配置,并提供了一个完整的依赖树来快速构建我们的 Spring Boot 项目。它还为Maven插件提供默认配置,例如 maven-failsafe-plugin,maven-jar-plugin,maven-surefire-plugin,maven-war-p...

2019-08-01 22:12:20 347

原创 Linux服务器磁盘空间查看

df 命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。df -h 这个命令以K,M,G为单位,提高信息的可读性。运行效果如下:du命令是对文件和目录磁盘使用的空间的查看。du -h --max-depth=1这个命令用于查看当前目录,哪个文件占用最大,运行效果如下:...

2019-03-06 21:57:52 29284

原创 docker 主机与容器文件传输

Linux Windows 文件传输yum install lrzszsz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to client,就等同于客户端在下载。rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by client,就等同于客户端在上传。本机上传至容器docker cp 本地文件路径 ID全称:容器...

2019-01-20 20:02:14 343

原创 docker-Dockerfile

Dockerfile是一个文本文档,包含了用户能在命令行上组装一个镜像调用的所有命令。FROMADD [--chown=<user>:<group>] <src>... <dest>The ADD instruction copies new files, directories or remote file URLs from <src...

2019-01-18 21:27:39 266

原创 docker-container

容器(container)操作创建容器查看容器docker ps [OPTIONS]列出所有容器:docker ps -a修改容器删除容器docker rm [OPTIONS] CONTAINER [CONTAINER...]删除全部:docker rm $(docker ps -a -q)容器生命周期管理停止、启动、杀死一个容器docker stop <CONTAI...

2019-01-18 21:26:13 406

原创 为什么Throwable 是一个类?

背景:最近使用到了异常,感觉使用起来不是那么熟练,于是准备深入学习一下。学习过程中,发现Java中异常的都是继承的Throwable这个类,依照Java中的惯例这个应该是个接口呀,怎么设计成类了呢。于是就利用搜索引擎,搜了一下。发现还真有人问了这个问题,问题来自 Stack Overflow。以下做为记录。Q:在java中以-able结尾的形容词一般表示的是接口。如Serializable, C...

2018-12-03 21:16:25 819

原创 windows 环境变量

查看在shell窗口中,输入:echo %path%快捷键win + s ,输入:env设置设置用户环境变量setx Variable Value设置系统环境变量setx Variable Value /m

2018-10-27 22:53:20 1051

原创 升级pip遇到的问题总结

今天安装python3.7,默认的pip是10.0,想升级到最新版本(18.0)。尝试了好几种方法C:\Users\alewu\Desktop>python get-pip.pyCollecting pip Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after con...

2018-08-02 22:46:18 9531 5

原创 java 接口和抽象类的区别

首先,要强调一点的是,抽象类是类,因此它们不受Java中接口的其他限制,例如抽象类可以拥有状态,但你不能在Java接口上拥有状态。 区别 abstract class interface 语法结构 abstract interface 用法 extends implements 设计层面 “是一个” “像是一个”共同点...

2018-07-16 19:35:52 77471

原创 Linux 安装 python3.x 过程中常见问题

问题一:./configure --prefix=/usr/local/python3.6 --enable-shared配置时出现以下:configure: error: in `/usr/local/src/python/Python-3.6.6':configure: error: no acceptable C compiler found in $PATHSee `c...

2018-07-16 09:19:21 703

原创 Linux 安装 python 3.x

一般来说,Linux 系统默认安装了 python2.x。因为环境的需要,但是又不能卸载老的版本,所以安装一个新的,使用软链来进行升级。使用系统自带的yum,apt-get之类的软件那肯定是没办法安装了,需要从源码编译安装。源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install) 安装步骤:1、下载python3.x源码包: ...

2018-07-16 09:12:25 347

原创 递归思想

递归(Recursive)1、采用递归的思考方式所有的递归方法都具有以下特点: ☛ 使用 if-else 或 switch 语句来引导不同的情况 ☛ 一个或多个基础情况(最简单的情况)用来停止递归 ☛ 每次递归调用都会简化原始问题,让它不断地接近基础情况,直到它变成这种基础情况为止。2、递归辅助方法有时候可以通过针对要解决的初始问題的类似问題定义一个递...

2018-07-13 11:25:33 105638

原创 Java 语言的运行机制

计算机高级编程语言按其程序的执行方式可分为两种:编译型语言 和 解释型语言Java是两者的结合体。首先采用通用的 Java编译器 将 Java源程序 编译成为与平台无关的 字节码文件(.class文件),然后由 Java虚拟机(JVM)对字节码文件解释执行。...

2018-07-11 20:39:18 868

原创 Linux定时任务crontab

1、检查是否安装了crontabrpm -qa | gerp crontab2、编写定时任务crontab -e进入 vi 模式,编写的格式为:<cron表达式><空格><命令>例如,每1分钟执行一次command* * * * * command3、

2018-07-10 10:07:17 777

翻译 HashMap相关知识

1.Overview在本文中,我们将从 Java Collections Framework 中探索最流行的 Map 接口实现。在开始学习其实现之前,重要的是要指出 List 和 Set 集合接口继承 Collection 但 Map 不是。简而言之,HashMap 按键存储值,并提供用于以各种方式添加,检索和操作存储数据的 API。其实现基于哈希表的原理,一开始听起来有点复杂但实际上...

2018-07-05 09:17:34 3548

原创 “==”和“equals()”

==:操作符equals:方法1)对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址2)对于equals方法,equals的默认行为是比较引用; 大多数Java类库都实现了equals方法,以便用来比较对象的内容,而非比较对象的引用。例如如java.lang.String...

2018-06-29 10:48:30 740

原创 Mybatis:Reader entry: ���� 4

控制台输出乱码如下:[DEBUG] o.a.ibatis.io.DefaultVFS.findJarForResource - Find JAR URL: file:/E:/java/git-project/rbac/target/rbac-1.0-SNAPSHOT/WEB-INF/classes/com/ale/entity/Permission.class[DEBUG] o.a.ibat...

2018-06-07 17:06:05 9416 5

翻译 Spring IoC 和 DI 介绍

概述 在本文中,我们将介绍IoC(Invention of Control - 控制反转)和DI(Dependency Injection - 依赖注入)的概念,然后我们将看看这些如何在Spring框架中实现什么是控制反转?控制反转是软件工程中的一个原则,该原则就是将对象或程序的某些部分的控制权转移到容器或框架。它最常用于面向对象编程的环境中。与我们自定义代码调用库的传统编程相比,...

2018-05-11 17:45:59 120631

翻译 Spring BeanPostProcessors

1.Spring BeanPostProcessors概述通常,你会发现自己处于这样一种情况,你需要在Spring框架实例化Bean执行一些预处理和后处理。Spring提供了BeanPostProcessor接口,它定义了一个回调方法来实现这个功能。实现BeanPostProcessor接口的类需要在ApplicationContext(Spring Bean配置文件)中定义,并将应用于应...

2018-05-10 20:24:39 1716

翻译 Spring Bean 的生命周期

1.Spring Bean生命周期概述传统java对象的生命开始于调用实例化对象的new运算符,并且在对象符合垃圾回收的条件时调用finalize()方法。与传统的java对象相比,Spring bean的生命周期不同。Spring框架提供了以下可用来控制Bean生命周期的方法:InitializingBean和DisposableBean回调接口;BeanName, BeanFactory和A

2018-05-10 11:55:36 1680

翻译 JDBC

简介     JDBC原来只是个商标名称,不是缩写;不过,JDBC通常被认为是“Java数据库连接”的代名词。最初,JDBC是数据源访问API的唯一商标名称,但最近Java DataBase Connectivity已被添加为第二个商标名称。     JDBC API是一个用来访问几乎任何表格型数据的Java API,它使用JDBC driver与数据库连接。一个JDBC driver是允许J

2018-05-04 16:49:46 1495

原创 IDEA IntelliJ 安装 PlantUML

第一步:下载安装Graphviz并配置路径变量官方下载第二步:集成PlantUML插件 若使用时出现如下问题,则表示未安装好Graphviz或语法错误。

2018-05-03 16:17:21 1568

原创 Mybatis 相关问题集

#{}和${}的区别 #{} 格式的语法会导致 MyBatis创建 PreparedStatement参数并安全地设置参数(就像使用 ?一样) ${}用于直接在 SQL 语句中插入一个不转义的字符串。id & result id和result都将一个列的值映射到一个简单数据类型(字符串,整型,双精度浮点数,日期等)的属性或字段。 这两者之间的唯一不同是, id表示的结果将是对象的标识属性

2018-05-03 15:58:19 1388

原创 Tomcat

Tomcat安装目录结构bin 存放启动和关闭tomcat脚本文件conf 包含不同的配置文件lib 主要存放tomcat所需的jar文件logs 存放日志文件temp存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!webapps 存放应用程序实例,要部署的应用程序也放在此目录work 存放jsp编译后产生的class文件配置文件&...

2018-04-18 15:58:50 2269

原创 docker 常用命令(doing)

docker cp Usage docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

2018-04-18 11:49:05 2014

原创 Intelij idea Debug 无法启动项目解决 Unable to open debugger port (127.0.0.1:50789)

Debug启动项目弹出提示Error running omp: Unable to open debugger port (127.0.0.1:50789: java.net.SocketException "socket closed" 错误.导致项目无法启动.因为只弹了这一个错误,所以以为我的debug的端口50816被占用了,但怎么查也查不到被占用,事实上并不是这个端口被占用!!如果打开eve

2018-04-17 21:24:34 3396

原创 环境配置: spring profile 与 maven profile

在开发过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力。   maven提供了一种方便的解决这种问题的方案,就是profile功能。profile可以让...

2018-04-17 21:11:38 4169

原创 redis 使用问题

背景:redis.conf设置密码后,代码里面应该也要设置密码问题:redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required.操作:赶紧去看JedisPool,发现构造函数里面刚好有个password 字段,毫不犹豫把密码填进去。启动,测试发现就报了上面的问题。 JedisPool...

2018-04-16 17:44:47 2019

设计模式-在线

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。

2018-04-06

空空如也

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

TA关注的人

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