自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (6)
  • 收藏
  • 关注

原创 Java之封装自己的属性拷贝工具类

使用Java进行项目开发,不可避免地就会存在DTO、VO甚至于DO、VO各种类,其实这种类型Java类,在同一个项目中,很多属性名称、含义都是相同的,例如: 使用mybatis-generotor工具来快速生成DAO层的时候,会生成entity实体类,但是往往这些实体类,都不能直接在Service层直接使用,需要封装成一个DTO,举个栗子:entity类:package com.gahui.yizhan.entity;​import java.util.Date;​publ...

2020-09-12 17:10:44 259

转载 秒级MQ延迟消息的一种解决方案

偶尔看到一篇比较靠谱且有理有据的博文,讲得很详细,故转载:https://www.cnblogs.com/hzmark/p/mq-delay-msg.html

2020-01-07 10:49:19 452

转载 mybatis与jdbc性能比较

有一篇博客写得比较好且详细,故mark一下:https://www.cnblogs.com/wxw7blog/p/8706797.html

2019-11-23 20:00:50 2854

原创 windows下在IDEA中使用protobuf

1.配置到官网下载对应的发布版,地址为:https://github.com/protocolbuffers/protobuf/releases选择64位版本并且解压:配置环境变量,在系统环境变量Path的值后,追加bin文件夹路径:D:\你的本地路径\protoc-3.10.0-win64\bin打开cmd命令,输入:protoc --version到此环境配...

2019-10-17 22:59:29 563

原创 引用修改笔记

public class DtoTest { private myData myData; public DtoTest() { } public DtoTest(com.gahui.test.test.myData myData) { this.myData = myData; } public com.gahui.test...

2019-09-12 10:23:58 136

转载 B+树和B-树讲解笔记

这是阿里云栖社区上关于B+树和B-树讲解的一篇文档,感觉写得十分详细,故转载!具体可参考:https://yq.aliyun.com/articles/716244?spm=a2c4e.11163080.searchblog.9.49162ec1zTpBur...

2019-09-11 16:59:54 127

转载 MySQL分页查询优化

这是博客园上关于MySQL分页查询优化的一篇文档,感觉写得十分详细,故转载!具体可参考:https://www.cnblogs.com/youyoui/p/7851007.html

2019-08-27 17:08:54 245

转载 Zookeeper笔记

这是阿里云栖社区上关于Zookeeper的一篇文档,感觉写得十分详细,故转载!具体可参考:https://yq.aliyun.com/articles/645833?spm=5176.11065265.1996646101.searchclickresult.58075923EQlmhj...

2019-08-26 15:47:45 87

原创 Web Service 笔记

前言:最近在公司看项目源代码的时候,遇到一个问题,就是:为什么在系统设计时使用xml格式作为数据传输格式,这就让我非常疑惑,因为照理说xml的数据相比于JSON、ProtoBuff等格式占用会占用比较大的空间,下面就是关于一些Web Service的笔记。1. 什么是Web Service?百度百科对Web Service的解释,请参考:https://baike.baidu.com/...

2019-08-22 21:51:47 490

原创 SpringBoot整合Swagger、Mybatis详细笔记

1.工具及版本说明:相关工具:IDEA 2019,NavicatSpringBoot版本:2.1.7RELEASESwagger版本:2.9.2Mybatis版本:1.3.0MySQL版本:5.72.其他说明本工程整合SpringBoot、Swagger、MySQL,详细阐述从新建工程到启动工程。3.流程介绍1.新建SpringBoot工程:File-&gt...

2019-08-22 00:06:23 437 1

原创 redistemplate存储格式,获取key报错

今天使用在IDEA clone别人一个项目试着运行的时候,因为项目中使用的了缓存,所以就想着查看一下缓存里面的数据,然后,使用:keys * 查看所有的键时候发现了缓存中的确存在项目所对应的key:关键字为seckill,当我试着去获取这个key缩存放的内容的时候,出现了以下画面:一开始真的理所当然的认为存储的格式是字符串,也没有理会命令界面的报错,还以为是"\"seckill""这个ke...

2019-07-18 15:48:14 2014

原创 单元测试之assert验证

前言:在阿里巴巴Java开发手册中,有这么一段话:单元测试应该是全自动执行的,并且非交互式的。测试用例通常是被定期执行的,执 行过程必须完全自动化才有意义。输出结果需要人工检查的测试不是一个好的单元测试。单元 测试中不准使用 System.out 来进行人肉验证,必须使用 assert 来验证。使用assert断言验证方法:在IDEA中需要配置才能使用,步骤:打开Run-&gt...

2019-07-18 11:28:06 5531

转载 MySQL中utf8编码的解释,插入中文可能报错

最近我遇到了一个 bug,我试着通过 Rails 在以“utf8”编码的 MariaDB 中保存一个 UTF-8 字符串,然后出现了一个离奇的错误:Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1我用的是 UTF-8 编码的客户端,服务器也是 UTF-8 编码的,数据库也是,就连要...

2019-07-17 11:32:02 945

转载 为什么重复率高的字段不适合作为索引

理论文章会告诉你值重复率高的字段不适合建索引。不要说性别字段只有两个值,网友亲测,一个字段使用拼音首字母做值,共有26种可能,加上索引后,百万加的数据量,使用索引的速度比不使用索引要慢!一个表可能会涉及两个数据结构(文件),一个是表本身,存放表中的数据,另一个是索引。索引是什么?它就是把一个或几个字段(组合索引)按规律排列起来,再附上该字段所在行数据的物理地址(位于表中)。比如我们有个字段是年...

2019-07-17 11:28:25 6046 2

转载 java拆包与解包的注意点

关于java的自动包装机制想必大家都用过吧,一般这些机制都用于在往容器中存储基本类型数据的时候,因为容器中不允许存在基本数据类型,所以就会调用自动包装机制,将基本数据类型转换为对象,将基本数据保存在对象中,并且提供一些基本方法,但是自动包装机制存在一些陷阱,使用不当就会出错先看看下面一个例子吧package test;public class AutoPack { publi...

2019-07-16 11:41:12 2739

转载 HashMap为什么负载因子是0.75,以及为什么桶容量达到8后转为红黑树存储

大部分的文章都是分析链表是怎么转换成红黑树的,但是并没有说明为什么当链表长度为8的时候才做转换动作。笔者第一反应也是一样,只能初略的猜测是因为时间和空间的权衡。要弄明白这个问题,我们首先要明白为什么要转换,这个问题比较简单,因为Map中桶的元素初始化是链表保存的,其查找性能是O(n),而树结构能将查找性能提升到O(log(n))。当链表长度很小的时候,即使遍历,速度也非常快,但是当链表长度不断...

2019-07-16 09:45:32 865

原创 MySQL批量插入数据,分批提交笔记

前言:之前就接触过MySQL的批量提交,但是相对而言,虽然比单条提交速度快很多但是,如果数据量太大,高达百万级别或者更高,就需要进一步地提高速度。准备:创建一个测试的数据表,如本次例子:test_user1.使用普通的分批提交,每次提交一万条记录,耗时如下:2.使用高速提交,关闭MySQL服务器的预处理,开启批量添加:耗时如下:总结:两种情况下,开起了高效批量提交,...

2019-07-12 13:12:33 3178

原创 springboot笔记

前言:之前有学过springmvc和mybatis,考虑到之后工作会用springboot,故开始展开学习,遇到的坑还不算少,此笔记主要用于记录。csdn上不少博客介绍springboot的入门不是不够完善就是大多过时,者即使照着敲也不能正常启动,本文给出具体入门教程。新建工程略过,需要请自行百度。工具:IDEA2018,Navicat本文主要记录springboot与MyBatis的...

2019-05-19 22:41:53 151

原创 IDEA 自带Web接口测试,Restful接口测试,HTTP Client使用

简介:IDEA中自带Web接口测试,相比于postman、apizza真的简便很多!使用方法:1.菜单栏:Tools->HTTP Client->Test Restful Web Service :选中后,IDEA下方出现如下窗口:2.Host/port中填入请求的路径,HTTP method中选择对应的请求方法,Headers填入对应的请求头,Request Pa...

2019-04-18 21:55:01 10334 1

原创 try finally执行顺序笔记

问题:try {}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?public class Finally_Test{ static int test(){ int y=1; try { System.out.println("bef...

2019-03-04 16:53:43 385

转载 01背包问题详解,分步骤

原文链接:https://www.jianshu.com/p/f38f4af131770-1背包问题说的是,给定背包容量W,一系列物品{weiht,value},每个物品只能取一件,获取最大值。采用动态规划求解,动态规划的一般规律都是,在什么什么前i个状态下的最大值或者最小值的前提下,然后再把i的状态的值求出来。这里我们定义一个函数,表示状态。m(1,2,3,4..i)(...

2019-03-02 15:41:48 2217

转载 LRU实现算法

转载自:https://www.cnblogs.com/Dhouse/p/8615481.html四种实现方式 LRU 1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算...

2018-11-29 21:04:25 519

原创 Java二叉树构建及深度优先遍历和广度优先遍历

1.工程目录如下:2.定义节点信息的类:TreeNode.javapackage binarytree;public class TreeNode{ public TreeNode() { // TODO Auto-generated constructor stub } int value; TreeNode left; TreeNode right; publ...

2018-08-14 15:28:20 2132

转载 深度优先搜索Or深度优先遍历详解

学习过程中发现这篇文章写得特别好,立转 深度优先搜索(DFS, Depth First Search)是一个针对图和树的遍历算法。早在19世纪就被用于解决迷宫问题。对于下面的树而言,DFS方法首先从根节点1开始,其搜索节点顺序是1,2,3,4,5,6,7,8(假定左分枝和右分枝中优先选择左分枝)。 DFS的实现方式相比于BFS应该说大同小异,只是把queue换成了stack而已,st...

2018-08-13 17:53:44 59020 3

转载 宽度优先遍历Or宽度优先搜索详解

在学习的时候发现这篇文章斜的特别好,立转 宽度优先搜索(BFS, Breadth First Search)是一个针对图和树的遍历算法。发明于上世纪50年代末60年代初,最初用于解决迷宫最短路径和网络路由等问题。对于下面的树而言,BFS方法首先从根节点1开始,其搜索节点顺序是1,2,3,4,5,6,7,8。 BFS使用队列(queue)来实施算法过程,队列(queue)有着先进先出F...

2018-08-13 17:51:10 13095 3

转载 java实现快速排序的详解

       面试中较为常见的算法之一就是快速排序,快速排序在实际排序应用中也是最好的选择,因为它的平均性能非常好,它的期望复杂度为nlgn,另外,它还是一种稳定的排序方法。快速排序利用分治思想,将待排序数组分成左右两个部分,然后对其分别递归调用快速排序算法。  下面通过一个例子介绍快速排序算法的思想,假设要对数组a[10]={6,1,2,7,9,3,4,5,10,8}进行排序,首先要在数组中...

2018-08-06 18:28:08 1555 4

转载 redis应用场景

INCR key将 key 中储存的数字值增一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。本操作的值限制在 64 位(bit)有符号数字表示之内。这是一个针对字符串的操作,因为 Redis 没有专用的整数类型,所以 key 内储存的字符串被解释为十进制 64 ...

2018-07-24 10:45:41 136

转载 HashMap原理详解

HashMap原理先以一个简单的例子来理解hashmap的原理。在Java中先随机产生一个大小为20的数组如下:hash表的大小为7,将上面数组的元素,按mod 7分类如下图:将这些点插入到hashmap中(简单hashmap)后如下图: 由上图可知: ① hashmap是用链地址法进行处理,多个key 对应于表中的一个索引位置的时候进行链地址处理,hashmap其实就是一个数组+链表的形式。② ...

2018-07-13 11:44:17 831

转载 java中“&&”和“||”短路详解

短路运算符就是我们常用的“&amp;&amp;”、“||”,一般称为“条件操作”。class Logic{ public ststic void main(String[] args){ int a=1; int b=1; if(a&lt;b &amp;&amp; b&lt;a/0){ System.out.print...

2018-07-11 21:19:20 5624 1

转载 java集合类详解

本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理。Java中的集合类包含的内容很多而且很重要,很多数据的存储和处理(排序,去重,筛选等)都需要通过集合类来完成。首先java中集合类主要有两大分支:(1)Collection (2)Map先看它们的类图:(1)Collection(2)Map ...

2018-05-17 14:18:10 148

原创 Android开发便签APP

1.设计知识:framelayout、floatingactionbutton、menu、listview、adapter、sqlite2.开发工具:Android Studio 3.1.1工程目录:3.界面设计:a.主界面:<?xml version="1.0" encoding="utf-8"?><android.support.des...

2018-05-15 21:54:59 20908 192

转载 线程同步问题:synchronized与锁,简单例子

文章重点!!!:一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。 取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个...

2018-05-09 20:45:39 247

原创 Android通知(Notification)使用的简单例子Demo

1.在Android软件中通知(Notification)是一个比较常见的特色功能,当某个应用不在运行当中时,可能会向用户发送一些信息,比如QQ、微信等应用中新消息提醒的通知栏通知等,本Demo中将展示其用法。2.使用的开发工具为:Android Studio 3.1.1版本a. 新建一个项目:Notification_Test,修改activity_main.xml中内容为:&lt;?xml v...

2018-05-02 23:50:34 5618 2

原创 MySQL重装,删除重装

文章是用之前的旧的账号发的博客,现在不使用之前的账号了,所以搬到这个账号。。。诶,本人经过一番挣扎,最后终于在网上找到一个能够重新安装的方法,所以分享出来希望对大家有所帮助!本人之前装的版本是5.7.17版本,卸载之后完全重新安装不了,期间电脑重置过几次,本次重装版本为5.7.21,重装成功,其他版本未经测试,步骤如下:1、首先参照网上的方法自行把所有的与mysql有关的注册表之类的东西全部删除掉...

2018-04-27 16:37:16 300

原创 Android Studio中,编写页面xml文件时,显示Unknown attribute...属性不提示的解决办法

1.本人之前遇到这个问题,真的很难受,编写Android页面的xml文件时,一直没有提示,将鼠标光标移动到控件的属性上时,一直显示unknown attribute...,这对刚开始学android开发的我来说,真的太可怕了,当然我也一直在网上寻找各种办法,一直在网上搜索各种方法,有说去掉省电模式 file —&gt;power save mode的方法,有说删除所有的.iml文件和.idea文件...

2018-04-24 20:55:20 15057 7

原创 制作Nine-Patch图片,.9.png图片制作

1.初识:    Nine-Patch图片是一种经过特殊处理的图片格式,文件的保存后缀为:(命名).9.png,能够制定那些区域能被拉伸、哪些区域不能够拉伸,比如QQ、微信的聊天气泡框使用的就是Nine-Patch图片格式,聊天的文字信息显示在可拉伸区域。2.制作:工具为:Android Studio 3.1.1图片链接在此--&gt;:仿微信微信聊天气泡框图片步骤如下:a. 新建工程:Nine_...

2018-04-23 16:48:46 516

原创 RecyclerView控件的简单使用例子,包含监听事件的简单处理

1.使用的开发工具:Android Studio 3.1.1,工程目录如下:2.新建工程,命名为:RecyclerViewTest空工程,导入RecyclerView控件的依赖库:步骤如下:打开app/build.gradle,修改后内容如下:dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) ...

2018-04-22 20:16:54 1261

原创 关于Android Studio HttpURLconnection使用时报错

NetworkSecurityConfig: No Network Security Config specified, using platform default

2018-04-19 08:56:08 1178

原创 Android实现登录功能,Android与服务器数据交互,使用tomcat、mysql实现登录的demo程序,web端和android均可实现登录

1.使用到的开发工具为:Eclipse(Java EE),Android Studio,MYSQL 5.7.21;2.首先在MYSQL数据库建表,我这里使用的数据库可视化操作软件为:navicat premium:如图:这里你可以取自己喜欢的数据库名字,但是为了方便起见,我建议取跟我的一样,当然,phone、email、message和pic这几个字段你可以不添加,因为这个demo...

2018-04-13 01:36:06 57782 102

原创 android开发过程中Toast在Thread中使用报错

错误日志为:java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()例子如下:new Thread(new Runnable() {                    @Override                    public void ru...

2018-04-12 23:34:21 662 1

android便签Demo

android便签Demo,使用SQLite数据库,具有重复编辑、分享等功能,使用listview、悬浮按钮等

2018-05-15

Android 通知(notification)简单实用Demo,包含点击功能

Android 通知(notification)简单实用Demo,包含点击功能简单例子,供大家下载学习

2018-05-02

聊天气泡框 Nine-Patch图片

仿微信,聊天气泡框 便于制作Nine-Patch图片,很实用,在网上找了很久,大家可以下载使用用于练习

2018-04-23

RecyclerView使用简单例子demo

RecyclerView简单的使用例子,自定义控件,设置监听事件等,

2018-04-22

Navicat Premium 11.0.17 64位

Navicat Premium 11.0.17 64位数据库操作的可视化工具

2018-04-13

android连接服务器实现登录的demo

Android-jsp-servlet-tomcat-mysql实现登录,可以实现网页和android同时通过服务器验证登录

2018-04-13

空空如也

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

TA关注的人

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