自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 问答 (1)
  • 收藏
  • 关注

原创 设计模式UML图解小册

工厂模式思想:在调用时显式传入类型参数,工厂负责通用的返回对应的实例给你。比如factory.getShape("Circle");表明我需要Circle的实例,工厂创建好之后返回给我抽象工厂模式思想:可以理解为工厂类的工厂,就是调用方首先需要传入类型参数获取对应的工厂实例,再通过调用工厂类的方法获取对象实例。比如首先通过FactoryProducer.getFactory("SHAPE");获取Shape的工厂,再通过factory.getShape("Circle");获取Circle实例单例模式.

2020-09-11 18:08:29 317

原创 Java8流式编程教程

Stream概念介绍Stream 不是集合,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。Stream(流)是一个来自数据源的元素队列并支持聚合操作,并且有串行、并行两种执行模式,并行模式充分的利用了多核处理器的优势,使用fork/join框架进行了任务拆分,同时提高了执行速度。Stream的创建集合创建List<Integer> list = new ArrayList<>();Stream<Integer> s

2020-08-20 10:44:27 550

原创 Spring源码部分封装类的理解

BeanDefinition - 是一个接口,提供获取Bean类名、scope、属性、构造函数参数列表、依赖的bean、是否是单例类、是否是懒加载等一些列信息。BeanDefinitionHolder - BeanDefinition包装类AnnotatedGenericBeanDefinition类 - 表示@Configuration注解注释的BeanDefinition类ScannedGenericBeanDefinition类 - 表示@Component、@Service、@C.

2020-08-19 17:50:21 238

原创 SpringMVC配置文件模板

web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee

2020-08-19 14:58:07 399

原创 MyBatis配置文件模板

mybatis-config.xml简单配置<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <settings>

2020-08-19 14:56:04 525

原创 log4j.properties配置模版

### set log levels ### log4j.rootLogger = DEBUG , console , debug , error ### console ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.Pat

2020-08-19 14:45:31 158

原创 SpringAOP中AspectJ指示器execution()用法

应用场景:用于pointcut切点中来定位执行方法execution(public * *(..)) //任意public的方法execution(* set*(..)) //任意以set开始的方法execution(* com.service.EmailService.*(..)) //EmailService下的任意方法execution(* com.service.*.*(..)) //service包下的任意类的任意方法execution(* com.service..*.*(

2020-08-19 14:43:49 329

原创 FreeMarker模板引擎调研

踩坑记录:中文不显示问题:https://www.cnblogs.com/yunfeiyang-88/p/10984740.htmlFreeMarker调研:http://freemarker.foofun.cn/index.htmlFreeMarker基本指令:if 指令<#if animals.python.price < animals.elephant.price> Pythons are cheaper than elephants today.<#el

2020-08-19 14:40:25 201

原创 程序员资源分享

IDEA:Lombok 自动生成bean的get set方法等功能free mybatis plugin 方便在dao和xml之间切换translation 翻译插件Grep Console 高亮log不同级别日志,看日志的时候一目了然。Rainbow Brackets 彩虹括号。自动给代码块内花括号和括号加色,让视野更加注意在代码上Chrome:ModHandler 泳道插件EditThisCookie 网页Cookie管理插件沙拉查词Mac:

2020-08-19 14:22:26 248

转载 UML建模规范图示

统一建模语言简介统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。统一建模语言能为软件开发的所有阶段提供模型化和可视化支持。而且融入了软件工程领域的新思想、新方法和新技术,使软件设计人员沟通更简明,进一步缩短了设计时间,减少开发成本。它的应用领域很宽,不仅适合于一般系统的开发,而且适合于并行与分布式系统的建

2020-08-19 14:08:47 1264

原创 阿里Java编码规范笔记

对于DO/BO/DTO/VO/AO/PO的类命名时,使用UserDO,MoveDTO命名POJO类中布尔类型的变量不要加is前缀Long类型初始赋值时使用大写L注释的双斜线与内容之间1个空格// 注释内容单行字符不超过120个,超出换行缩进一个tab,且第三行起不再缩进方法覆盖时,必须加@Override注解方法过时时必须加@Deprecated注释,并清晰说明采用的新接口使用"test".equals(str) 而不是 str.equals(“tes..

2020-08-19 12:21:46 176

原创 $jacocodata 多余属性解决

问题场景:本地环境使用反射获取成员变量时测试正常,但将分支部署在泳道上发现反射多出一个属性值,value 为 $jacocodata原因分析:部署test环境时候,maven集成了jacoco来统计单元测试的代码覆盖率。才会多一个 $jacocoData解决方案:使用field 的 isSynthetic()方法做一次判断 if (f.isSynthetic()) { continue; }方法解释: /** * Returns {@code true} if this

2020-08-17 17:33:07 4774 1

原创 每次打开终端都要 source 环境变量问题

在用户根目录下~,编辑.zshrc文件,后面追加source /etc/profile保存重新打开即可

2020-08-17 17:25:19 1278 2

原创 /data 文件夹权限相关最佳解决方案

问题场景:程序运行经常出现Error: Read-only file system ,指在根目录下无法创建文件解决方案:可自行去目录下创建相关的文件,具体 Mac根目录下无法创建文件夹最佳方案:在用户目录下建立data文件夹,在根目录下建立软链接指向用户目录下data文件夹...

2020-08-17 17:24:12 6748

原创 Mac根目录下无法创建文件夹

问题场景:需要在根目录下创建data文件夹,出现 Read-only file system 字样解决方案:重新启动,在启动的时候按command+R,进入Recovery模式关闭sip 在top bar的实用工具选项,选择打开终端,输入命令:csrutil disable重启电脑挂载根目录 输入命令sudo mount -uw /创建好文件夹之后 开启sip 进入Recovery模式 输入命令:csrutl enable重启电脑...

2020-08-17 17:22:25 1388

原创 SpringMVC上传文件自动获取请求name并上传

配置解析器<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"></property> <!-- 50m --> <property name="maxUpl

2020-06-18 10:46:38 216

转载 CDN的简单理解

程序员每天提及的无数词当中,有一个是「CDN」,Ta的中文名是「内容分发网络」,读中文是令人蒙逼的,英文名是Content Delivery Network.CDN有啥用呢?它主要用来解决什么问题呢?它的原理大概是怎么样的呢?我们先拆解下这三个名词。CDN专注于「内容」,也就是CDN的C所代表的Content,专注于静态资源的分发和访问,比如一张图片,一个文本文件,一个视频,一个CSS,一个JS等等,任何以文件形式存储的,为了提高在互联网上的访问速度和质量,都可以将这个资源部署在CDN这个网络上。C

2020-05-21 20:41:34 1165

原创 RPC的简单理解

RPC(Remote Procedure Call)远程过程调用。即一台服务器上的应用调用另外一台服务器上的服务,通过序列化传递参数,服务端通过反射来调用服务端方法的一种通信协议。简单的说,RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。RPC 会隐藏底层的通讯细节(不需要直接处理Socket通讯或Http通讯) RPC 是一个请求响应模型。客户端发起请求,服务器返回响应(类似于Http的工作方式) RPC 在使用形式

2020-05-20 15:29:47 201

原创 Kafka使用指南

安装启动官网下载 http://kafka.apache.org/启动bin/zookeeper-server-start.sh config/zookeeper.propertiesbin/kafka-server-start.sh config/server.properties停止bin/kafka-server-stop.sh config/server.properties...

2020-04-26 11:48:01 163

原创 Maven打包指定Main方法

Maven版本3.6.3,quickstart版本1.4,注意这个插件要放在build子标签下,不要放在pluginManagement子标签中<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>...

2020-04-02 22:11:55 1476

原创 TCP握手异常处理

三次握手中,如果第三次握手丢失,客户端服务器会如何处理?    服务端:此时是SYN-RECV状态,触发超时重传机制,会等待3s,6s,12s后重新发送SYN+ACK包,以便客户端重新发送ACK包。而服务器重发包的次数,可以通过设置改变,默认为5。重发指定次数后,仍未收到客户端的ACK,服务端则关闭。    客户端:此时是ESTABLISHED状态,之后向服务端发送数据,服务端将以RST包(r...

2020-03-31 09:35:49 519

原创 JVM的栈上分配与TLAB

前言:我们都知道在Java中new出一个对象是放在Eden区中的,那一定new出来的对象就会被放在Eden区中吗?答案是否定的,先看一张图从这张对象的分配流程图中可以看到,其实刚开始分配一个新的对象的时候会有几次判断,并不是直接new在Eden区中的。JVM会根据对象的作用域或者大小把它放在合适的区域。栈上分配    针对那些作用域不会逃逸出方法的对...

2020-03-26 18:26:31 272

原创 Redis缓存占用内存满了如何处理

处理方案:1. 增加内存2. 搭建Redis集群3. 内存淘汰策略内存淘汰策略实现:    设置maxmemory参数,并指定maxmemory-policy策略,默认值为noeviction(禁止淘汰,会报错)maxmemory-policy:参数说明volatile-lru从设置了过期时间的数据集中根据LRU算法进行淘汰volatile-ttl与...

2020-03-23 12:08:19 1237

原创 加强MySQL安全的几种方案

1. 删除数据库不适用的默认用户2. 配置相应的权限(包括远程连接)3. 不可在命令行界面下输入数据库的密码4. 定期修改密码和加强密码的复杂度

2020-03-18 11:49:50 495

转载 ManagementFactory用法

监控JVM信息的工具有JConsole。而ManagementFactory是一个可以获取JVM线程、内存、编译等信息的一个工厂类。ManagementFactory使用:public class JvmInfo { private static final long MB = 1024 * 1024; public static void printAll() { ...

2020-03-17 16:49:11 3605

原创 垃圾回收器之CMS回收器和G1回收器

新生代老年代GC选项参数SerialSerial Old-XX:UseSerialGCParNewSerial Old-XX:UseParNewGCParallel ScavengeSerial Old-XX:UseParallelGCParallel ScavengeParallel Old-XX:UseParallelOldGCPa...

2020-03-17 10:45:55 301

原创 Http/2.0特性

Http/2.0:在不改动Http语义、方法、状态码、URI及首部字段的情况下,大幅提高Web性能。特性:二进制传输:Http/2.0在应用层和传输层之间增加了一个二进制分帧层。Http2.0会将所有传输的信息分为更小的消息和帧,并采用二进制编码,其中Http1.x的首部信息会被封装到Header帧中,而Request Body封装到Data帧多路复用:在Http/2.0中,帧是最小的...

2020-03-13 10:02:39 240

原创 HTTPS握手过程(加密解密过程)

一些常用的加密与HASH算法  - 非对称加密算法:RSA,DSA/DSS  - 对称加密算法:AES,RC4,3DES  - Hash算法:MD5,SHA1,SHA256 非对称加密:公钥加密,私钥解密,加密和解密用的不是一个密钥。对称加密:加密和解密用的是一个密钥。 Https中SSL/TLS协议使用了非对称加密,对称加密以及HASH算法。握手过程具体如下:...

2020-03-12 23:41:20 737 4

原创 Http长连接和短链接

    Http属于应用层协议,所谓Http的长连接和短链接本质上说的是TCP的长连接和短连接。只有TCP连接才有真正的长连接和短连接这一说法。    所谓Http/1.1起支持长连接,并不是Http/1.1可以建立长连接,而是它支持以请求的方式进行连接的发起,该连接依然时基于TCP的Http/1.0和Http/1.1    Http/1.0默认使用短连接,客户端每次进行一次http操作,就...

2020-03-10 22:57:37 929

原创 八大排序算法代码实现(Java版)

八大排序算法排序算法时间复杂度稳定性冒泡排序O(n²)稳定选择排序O(n²)不稳定插入排序O(n²)稳定希尔排序O(n^1.3)不稳定快速排序O(nlogn)不稳定堆排序O(nlogn)不稳定归并排序O(nlogn)稳定基数排序O(d(r+n))稳定PS:基数排序中r代表关键字的基数,d代表长度...

2020-03-03 17:54:21 202

原创 codeblocks运行报错不支持的16位应用程序

从官网上下载的Codeblocks17.12带编译器的版本,运行时候出错,显示不支持16为应用程序,网上的办法大多都好像已经没用了。尝试解决办法:我当时安装的位置是C盘,但是我的Project存放在D盘,最后我在C盘建了一个Project编译运行竟然成功了!虽然不知道是什么原理,但给大家说一下经供参考吧!...

2020-02-04 21:57:38 1792

原创 Starting the debuggee failed: No executable specified, use `target exec'.

从官网上下的CodeBlocks自带编译器调试器的版本17.12,运行时Debug调试不了日志:Debugger name and version: GNU gdb (GDB) 7.9.1Starting the debuggee failed: No executable specified, use `target exec’.Debugger finished with status...

2020-02-02 23:42:16 5024 7

原创 nexus2.x安装启动失败问题java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present

在 logs 中发现 java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present 的错误导致 nexus 启动失败解决方法:在%NEXUS_HOME%的lib文件夹下添加 jaxb-api-2.2.7.jar 和 activation-1.1.1.jar...

2019-12-26 17:44:12 588

原创 Android分享-Android权限大全

访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置android.permission.ACCESS_...

2019-11-05 16:41:41 274

原创 java.nio.charset.MalformedInputException: Input length = 1

错误来源于《疯狂Java讲义》书上第15章输入/输出NIO部分在读入文件后使用将buffer的内容decode成字符型使用了GBK编码导致出错解决方法:经测试将GBK编码换成UTF-8即可正常运行,因为可能文件是以UTF-8格式保存的所以使用GBK会报错...

2019-09-02 16:34:02 2154

原创 C++PTA错题集

以app 方式打开文件时,当前的读指针和写指针都定位于文件尾。 T记录流的当前格式化状态标志字中的每一位用于记录一种格式,这种格式是不能被设置或清除的。F预定义的插入符从键盘上接收数据是不带缓冲区的。 F关于纯虚函数和抽象类的描述中,( )是错误的。 CA. 纯虚函数是一种特殊的虚函数,它没有具体的实现B. 抽象类是指具有纯虚函数的类C. 一个基类中说明有纯虚函数,该基...

2019-06-30 22:15:47 2325 2

原创 做一个简单的监控流量的悬浮窗

开发环境:Android9.0 API28 AS3.3.2测试日期:2019年6月26日 19:22:58—开始需要加入两种权限AndroidManifest.xml <!-- 获取网速所需要的权限 --> <uses-permission android:name="android.permission.PACKAGE_USAGE_STAT...

2019-06-26 19:46:31 946

原创 Android开发-连接开发板蓝牙模块发送和接收数据

帮同学写一个连接小车蓝牙模块遥控小车的APP,在网上搜阅了很多资料,大概了解了蓝牙的工作原理,再经历了种种BUG后终于是成功连上了小车蓝牙,并可以发送数据,小车可以接收到,测试的蓝牙是Arduino小车的蓝牙模块,应该通用所有板子的蓝牙模块。开发环境:Android9.0 API28 AS3.3.2另外AVD是没有蓝牙模块的,要到真机上跑大概流程是:1.开启权限2.开启蓝牙被检测3.根...

2019-06-09 21:53:32 4989 16

原创 解决安卓悬浮窗permission denied for window type 问题

如果在代码中设置WindowManager.LayoutParams对象的type属性时,使用了划线的常量会报错,因为在你这个API版本不支持不建议你使用经测试 API 28 开发悬浮窗可用的type是WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY将type属性设置成这个常量即可...

2019-05-28 18:26:42 3995 2

原创 application中android:name的作用

AndroidManifest.xml 中 application 有一个属性是 android:name ,它是用来app启动时来关联一个application的,默认关联的是android.app.Application当app启动时,会默认创建一个application的实例 ,当在Activity中调用getApplication()方法时 ,就会返回这个实例,所以这个 android:...

2019-05-21 18:22:04 13487 1

空空如也

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

TA关注的人

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