自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录修复MySql数据库CPU占用100%的过程

今早上班按照惯例查看一下服务器的运行状况,top之后看到mysqld占用CPU100%而且居高不下,打开后台管理界面发现部分接口出现访问500的情况,处理步骤如下:1、登录mysql,使用show full processlist命令查看正在执行的语句2、发现执行列表中有几十条sql语句,并出现提醒Waiting for table flush阻塞查询3、定位这些sql语句涉及到的表,分析原...

2019-01-21 20:47:39 594

原创 Java设计模式之外观模式||门面模式

外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。public class DrawerOne { public void open(){ System.out.println("打开了第一个抽屉"); getKey()...

2018-12-01 09:11:36 266

原创 Linux上tomcat服务器莫名其妙挂掉原因查找

linux上tomcat服务器突然挂掉了,查看catalina.out没有发现什么错误信息。查看/var/log/messages文件发现是因为内存不足系统杀死的kernel: Out of memory: Kill process 15983 (java) score 149 or sacrifice childlinux 系统内存满了自动杀了不受保护的线程需要将Java进程加入到受保护...

2018-11-03 17:19:12 12137 1

转载 常见端口号记录

端口号标识了一个主机上进行通信的不同的应用程序。HTTP协议代理服务器常用端口号:80/8080/3128/8081/9098SOCKS代理协议服务器常用端口号:1080FTP(文件传输)协议代理服务器常用端口号:21Telnet(远程登录)协议代理服务器常用端口号:23HTTP服务器,默认端口号为80/tcp(木马Executor开放此端口)HTTPS(securely transf...

2018-10-25 09:40:27 235

原创 Java设计模式之单例模式

Java设计模式之单例模式懒汉式(线程不安全) private static Singleton instance; //私有化构造方法 private Singleton(){} public static Singleton getInstance() { if(instance == null){ instance =...

2018-09-19 23:37:02 136

原创 解决org.apache.ibatis.executor.ExecutorException: No constructor found in xxxBean问题

在使用mybatis时遇到该问题,解决方法很简单,在实体类bean中加一个无参的构造方法即可,具体原因如下:相关源码如下:private Object createByConstructorSignature(ResultSetWrapper rsw, Class<?> resultType, List<Class<?>> constructorArgT...

2018-05-28 20:35:07 17359 1

原创 关于string的几个常见问题记录

(1)String s1=”abc”; String s2=”abc”; System.out.println(s1==s2); System.out.println(s1.equals(s2)); /*output: true true */本题主要考察对于java常量池的理解。java中的常量池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一...

2018-05-24 13:41:46 253

原创 修复Could not find default TaskScheduler bean异常

将logback 日志级别设置为DEBUG时出现定时器相关的报错信息,我选择的解决方式较为简单,直接将定时器的日志级别设为INFO级别就可以了。<logger name="org.springframework.scheduling"> <level value="info" /></logger>因为这个并不影响实际的使用只是一个...

2018-04-24 14:18:03 5146

原创 eclipse关联jdk源码、项目源码

选择 window->Preferences->Java->Installed JREs->选择右侧的edit->选择rt.jar->选择右侧的Source Attachment->选择External location -> 选择jdk目录下的src.zip 如Java/jdk1.8.0_151/src.zip记录一下,方便以后查找...

2018-03-30 17:15:14 168

原创 Integer的自动拆装箱 导致 == 比较出现错误

Integer.valueof()的源代码:static final int low = -128; static final int high = 127;public static Integer valueOf(int i) { assert IntegerCache.high >= 127; if (i >= IntegerCache.lo...

2018-03-29 21:35:30 165

原创 MyBatis <selectKey>标签的含义

MyBatis 标签这个标签主要用于Insert数据时不支持主键自动生成的问题selectKey keyProperty=”m_Id” order=”AFTER” resultType=”int”&gt; select LAST_INSERT_ID() selectKey&gt;SelectKey需要注意order属性。像Mysql一类支持自动增长类型的数据库中,...

2018-03-24 15:42:10 2092

原创 MyBatis批量插入/批量更新

前段时间遇到批量更新上千条数据的问题,如果使用for循环update数据会导致时间长效率低(因为频繁与mysql交互,耗时较长),这是一个比较常见的需求应该可以用一条sql语句解决,查找之后解决了该问题,顺便记录一下具体代码,方便以后查找顺便帮助遇到同样需求的人。批量插入:&lt;insert id="insertBatch" parameterType="具体实体类" useGen...

2018-03-02 15:24:16 344

原创 解决git版本控制中.gitignore文件失效的问题

原因是你或者其他同事已经将该文件加入了git的版本控制,此时.gitignore文件失去作用1.执行 git rm -r -n --cached "要删除文件的绝对路径"   ,删除前预览确认一下要删的文件2.执行 git rm -r --cached  "要删除文件的绝对路径"     ,删除文件的命令. 3.执行 git commit -m "提交记录"         

2018-01-10 18:11:25 215

转载 mybatis 中 foreach collection的三种用法

转载地址:http://blog.csdn.net/qq_24084925/article/details/53790287foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。    item表示集合中每一个元素进行迭代时的别名

2018-01-05 17:41:26 215

原创 解决java.lang.IllegalArgumentException: Invalid character (CR or LF) found in method name

今天调试JavaWeb项目时控制台报错如下Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.java.lang.IllegalArgumentException: Invalid character

2017-12-25 10:28:28 11277 1

原创 git update本地删除的文件

先将分支切换到你想要pull的分支,这里以master举例git checkout mastergit reset --hard之后强行pull并覆盖本地文件即可git fetch --allgit reset --hard origin/mastergit pull

2017-12-22 14:11:52 1125

原创 mysql中left join,right join,inner join的区别

sql查询中有一个非常重要的环节就是表的关联查询,一般使用left join,right join,inner join,他们之间的区别是什么呢?下面我们通过具体的sql语句来演示,演示用的表名为test1/test2:从上面的截图可以很容易看出来三者之间的区别,left join 查出来的数据条数是以

2017-12-19 15:45:42 482

原创 解决javaweb返回json中文为问号的问题

显然一看就是编码有问题,一般加入:response.setContentType("application/json;charset=utf-8");response.setCharacterEncoding("utf-8");这样一般就可以了,乱码应该会解决,但是如果你的servlet中在设置这个属性的前面已经获取了PrintWriter  :  PrintWriter out

2017-12-09 16:55:35 5133 3

原创 glide加载不出大图并报错 java.net.SocketTimeoutException

在使用Glide加载图片时出现加载不出来的的问题,通过使用以下方法可以打印出错误信息:Glide.with(context).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE)                    .placeholder(R.mipmap.default_logo2)                    .e

2017-12-06 11:09:54 5207 1

原创 解决java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 1(offset:1)

在使用RecyclerView时出现了这个错误,使用SwipeRefreshLayout做刷新操作,在刷新时迅速滑动RecyclerView 出现程序崩溃的情况,崩溃日志如下:java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 1(offset:1).state:4 at a

2017-11-29 11:19:30 4441

原创 Android实现监听EditText编辑完成事件

EditText中并没有实现该功能的代码,所以我们只能另外想方法了,具体的实现思路有两个:一是通过监听键盘的弹起,二是通过监听EditText输入变化然后handler发送延迟消息来实现。   通过键盘的弹起来实现该功能比较麻烦,不考虑其他情况在布局最简单的情况下,代码实现如下:   public class MainActivity extends AppCompatActivity

2017-11-16 16:00:47 7473

原创 Android 解决华为手机图片底色变绿问题

前几天开发过程中遇到了一个比较有意思的问题,在华为meta9上使用Glide加载图片,在加载的时候出现了图片底色变绿的情况,在其他手机上均为正常的白色。解决方法如下:package com.xxx.xx;public class GlideConfiguration implements GlideModule { @Override public void app

2017-11-16 14:06:11 4550

原创 Android权限 分类记录

Android开发中应用适配到6.0及以上版本时需要进行危险权限(dangerous permission)的申请,下面就记录一下权限的分类:普通权限(无需申请,在Manifest里面注册即可)ACCESS_LOCATION_EXTRA_COMMANDSACCESS_NETWORK_STATEACCESS_NOTIFICATION_POLICYACCESS_WIFI_S

2017-11-04 10:09:09 253

原创 Java中的反射机制

Java中的反射机制是一个比较重要的东西,应用的也比较多,比如我们熟知的Event Bus,它的作用在于:在程序运行期间动态的获取类/对象的信息。一.通过Java反射查看类信息获得Class对象每个类被加载之后,系统就会为该类生成一个对应的Class对象。通过该Class对象就可以访问到JVM中的这个类。在Java程序中获得Class对象通常有如下三种方式:

2017-10-19 22:20:39 137

原创 Android 关闭一个线程

线程对象属于一次性消耗品,一般线程执行完run方法之后,线程就正常结束了,线程结束之后就报废了,不能再次start,只能新建一个线程对象。但有时run方法是永远不会结束的。例如在程序中使用线程进行Socket监听请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。当需要结束线程时,如何退出线程呢?有三种方法可以结束线程:1. 使用退出

2017-10-17 10:03:07 853

转载 Android使用ViewStub提高布局性能

转自:http://mobile.51cto.com/android-517729.htm在Android开发中,View是我们必须要接触的用来展示的技术.通常情况下随着View视图的越来越复杂,整体布局的性能也会随之下降.这里介绍一个在某些场景下提升布局性能的View,它就是ViewStub.ViewStub是什么ViewStub是View的子类它不可见,大小

2017-10-17 09:27:15 249

转载 Android硬件加速

原文地址:http://blog.csdn.net/yq6073025/article/details/53319564硬件加速Android 3.0 (API level 11), 开始支持所有的View 的canvas都会使用GPU,但是硬件的加速会占有一定的RAM。在API >= 14上,默认是开启的,如果你的应用只是标准的View和Drawable,全局

2017-10-17 09:19:22 414

原创 初识Java线程池

先说一下线程池的好处,为什么要用线程池:1.免去线程创建和销毁带来的性能开销,达到线程复用的效果。2.能有效的控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致的阻塞现象。3.能够对线程进行简单的管理,并提供定时执行以及指定间隔循环执行等功能。线程池的相关源码在 java.util.concurrent;下面Android中的线程池都是通过配置

2017-10-09 11:18:30 146

原创 Android常见ANR的分类

ANR一般有以下四种类型:KeyDispatchTimeout1:KeyDispatchTimeout(5 seconds) –主要类型按键或触摸事件在特定时间内无响应BroadcastTimeout2:BroadcastTimeout(10 seconds)BroadcastReceiver在特定时间内无法处理完成,此处指的是前台广播,后台广播为6

2017-09-20 10:13:26 1383

原创 Java设计模式之工厂方法模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。       下面通过简单举例来说明工厂方法模式的使用,逻辑关系如下图所示:具体代码如下:pu

2017-09-08 16:42:10 213

原创 Java设计模式初识(了解设计模式)

我们常说的设计模式一般是以下的二十三种:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

2017-09-07 22:07:00 199

原创 Toast使用报错java.lang.RuntimeException: Can't create handler inside thread 原因及解决方案(一)

这个问题先前没怎么注意,只是知道Toast会有类似于一个队列的东西,你每调用一次都会加入队列,先进先出。今天正好趁解决这个问题来详细研究一下Toast的实现原理。这个问题一般出现在子线程没有初始化Looper时调用Toast时出现,既然没有初始化Looper那就给他初始化或者让他在UI线程中弹吐司就可以了,话不多说直接给出解决方案:方案一:在子线程中初始化Looper![](http://im

2017-09-07 17:35:59 4534 1

原创 fragment懒加载时生命周期分析

使用fragment懒加载可以让fragment在没有visible时不加载网络数据,具体生命周期如下: 当fragment不可见时:E/BFragment: setUserVisibleHint方法执行了 E/BFragment: onInvisible E/BFragment: onCreate方法执行了 E/BFragment: onCreateView方法执行了

2017-07-21 15:52:49 413

原创 ScrollView里面直接放RelativeLayout出现显示不全的问题

需要在ScrollView下面添加:         fillViewport = true;当ScrollView没有fillViewport=“true”时,里面的元素会按照wrap_content来计算(设了"match_parent"没有作用)。

2017-02-19 14:26:56 933

原创 横竖屏切换时Activity生命周期的变化

默认第一次竖屏运行Activity生命周期如下:onCreateonStartonResume切换成横屏:onPauseonStoponDestoryonCreateonStartonRestoreInstanceStateonResume再次切换成竖屏:onPause: onStop: onDestroy: on

2016-10-23 21:45:11 308

空空如也

空空如也

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

TA关注的人

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