自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 符号表解析——(2)android符号表java解析应用

上篇 我们写了Andriod符号表解析,当对来说十分简单。(几乎都是纯java的东西)IOS符号解析相对来说比较困难。IOS符号表为 .sYDM文件(夹)1,大小mapping文件一般100-150K左右,大一些的一般不会超过1M而 .sYDM文件一般2M以上,如果工程较大,可能会超过30M2,解析方式不同于Android的几乎纯java的解析,很明了的对应关系IO...

2018-08-17 17:58:45 1525

原创 符号表解析——(1)Andriod符号表java解析应用

符号表:这里指IOS和Android 崩溃后信息模糊化需要符号化的对照表一般Andriod 符号表是一个mapping.txt文件 例如cn.analysis.Config -> cn.analysis.a: boolean isLog -> a java.lang.String SERVER_HOST -> b java.lang.Stri...

2018-08-17 17:38:45 1856

原创 java集合底层分析

一、set个人开发,set用的比list,map用的少,常用的是hashset,这里重点说hashset1.1Hashset1.1.1底层是hashmap,利用hashmap的key不能重复的方法来完成hashset的功能,而定义hashset时hashmap的value 用一个static final PRESENT 来填充(无实际用途,假值)1.1.2hashset继承了AbstractSet...

2018-06-12 13:54:30 3782

原创 为什么重写equals 时候,必须重写hascode

public class t { public static void main(String[] args) { HashMap<Object, Object> map12 = new HashMap<Object, Object>(); Student sa = new Student("123", "345"); Student sb = new Stu...

2018-06-11 18:44:53 521

原创 23种设计模式——看一遍你就会了10种+

创建型1、工厂模式用过switch case吧,他就是最简单的工厂模式2、抽象工厂模式用过maven吧,当你引用一个jar,他会关联的给你一系列你需要下载的东西,但是你只需要写一个配置就OK了,工厂里面全都处理好了3、单例这个不多讲了,一般都写过,分3种,有空自己练练就好4、建造者模式(build)用过接口吧,通过实现类来完成接口的具体内容就是建造者模式5、原型模式用过clone吗,那你就用过原型...

2018-06-07 17:48:28 1319 1

转载 解决jar冲突问题

一个思路:通过maven 找到jar依赖关系,确定是否冲突原文地址https://www.cnblogs.com/adolfmc/p/7267106.htmlJar包冲突解决方法前言对于Jar包冲突问题,我们开发人员经常都会有碰到,当我们使用一些jar包中的类、方法等,或者有时遇到一些日志系统的问题(参考另一篇文章Jar包冲突导致的日志问题),我们会遇到ClassNotFoundException...

2018-06-06 16:18:09 256

原创 线程,线程池,总结

总结一下个人对线程,线程池的理解(持续更新)1、线程的3种实现方式ThreadRunnableCallable

2018-05-31 17:15:24 177

原创 实时通信 socketio nio 总结

公司要求多一个实时通信的功能解决思路如下架构图:后台管理页面实时显示在线的终端情况终端服务器和后台服务器之间用NIO通信当有终端登录登出,后台管理服务器(服务端)接收终端服务器(客户端) 接口请求后台管理服务器(服务的)发送信息给实时监控页面(客户端)附上代码:终端的客户端public class EmployeeSocketClient { static SocketChannel sc =n...

2018-05-15 10:41:01 968

原创 scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别

 scheduleWithFixedDelay,是以上一个任务开始的时间计时,period时间过去后,检测上一个任务是否执行完毕,如果上一个任务执行完毕,则当前任务立即执行,如果上一个任务没有执行完毕,则需要等上一个任务执行完毕后立即执行。scheduleAtFixedRate ,是以上一个任务结束时开始计时,period时间过去后,立即执行。 网上看到也有个这个标题的例子,不过他写反了,写反了,...

2018-05-14 14:48:15 245

原创 批量插入更新效率问题

 先说结论,在讲过程环境:mybaits + mysql结论:1、一次更新数量最好在50-100,用foreach方式更新,可以参考这个的写法https://blog.csdn.net/xyjawq1/article/details/741293162、批量插入一般在5000条插入一次,大于5000后mysql的性能下降 ,当插入次数由200逐渐提升到5000过程,速度变快,不过不明显3、batc...

2018-05-03 15:40:05 1689

原创 tinyint(1) 问题

在接收的时候,如果用map不用实体 默认会出现boolean的情况解决办法1 ?tinyInt1isBit=false (在你的sql 的设置地址后面加入)2 进行运算来强转2.1 用 *1的方式2.2 ifnull( xxx,0)3.最好还是从根本上解决 用tinyint(4)在做为数据类型

2018-04-26 13:54:00 1804

原创 spring代理 缓存,事物失效(简单易懂)

用图来说话吧classA中 ,method要调用classB的方法,是通过spring代理的方式,那么spring的注解才会生效classA中,methodA1 调用同class内的methodA2,即this调用,spring注解不会生效(例如@Cachable,@Transaction)...

2018-04-20 10:46:57 411

原创 mybatis batch 批处理insert 自增主键 存在问题

批处理,mybatis有2中方式1 foreach2 batch分析下batch存在的问题 SqlSession session = sqlSessionTemplate.getSqlSessionFactory() .openSession(ExecutorType.BATCH, false); InspectTemplateMapper inspec

2018-04-16 19:26:32 4299

原创 @Value 取不到值

环境:springboot 在配置文件里设置了值在Util里面去取值取不到原因:util类一般为static类里面没有@Bean而@Value 和@Bean 一般是一起使用,在注入Bean的时候,给Value赋值如果类似Util里是没有@Bean(一般也不应该有)所以@Value会失效解决办法,so easy 在@Bean的类里面 加入@Value

2018-04-13 17:22:29 1385

原创 遇到poi和jdk的坑总结

https://blog.csdn.net/m0_37527542/article/details/74542587 这里面写的很好,都好用,不赘述了补充几点自己遇到的坑1、用swagger 的时候,自动回判断 enctype="multipart/form-data" 会自动加入到请求头,不用理会2、jdk1.7 和 poi 7 版本匹配,jdk 8 和 poi 14 (这个没测)3、低版本 p...

2018-04-11 18:57:22 7908 1

原创 JAVA类加载机制,看会这一篇就够了

类加载7个阶段加载 ——>验证——>准备——>解析——>初始化——>使用——>卸载五种情况需要立即初始化1、指令 new getstatic putstatic invokestatic2、反射包对起类进行反射调用,如果没有初始化,先对其初始化3、初始化一个类,如果其父类没有初始化,初始化其父类4、初始化main类5、JDK1.7动态语言,如果一个java.lang.i

2018-04-10 10:10:51 382

原创 VM的性能监控与故障处理

名词解释HotSpot VM : Sun JDK 和OpenJDK所带的虚拟机用到的工具(以下命令均在cmd调到bin目录下进行)jps JVM Process Status Tool 显示指定系统内所有的HotSpot虚拟机进程常用命令 jps -l (获取进程执行的包和进程ID),jps -v (获取JVM参数)jstart JVM Statistics Monitoring Tool 用于收...

2018-04-09 16:35:42 216

原创 mybatis使用List<Map<String,Object>>方式接收时间类型,在序列化自动转换时间戳

背景 : mysql ,mybatis ,springboot(好像无关) fastjson(好像也无关)想要用mybatis 用resulttype方式接收mysql返回值(主要是不用DTO,不用resultmap,少些很多代码,当然知道阿里爸爸JAVA开发手册里面写的用resultmap的规范操作,主要原因就是懒)解决方案,在sql里面的查询DATE字段进行处理FROM_UNIXT

2018-04-09 11:26:46 6644

原创 环境变量配置1.7 java -version 输出1.8

以上问题,说白了就是配置有问题环境变量配置原则:前面找到了,不去后面找。所以如果有冲突(尽量不要有),把主要的放在前面举例:C:\ProgramData\Oracle\Java\javapath;%JAVA_HOME%\jdk1.7.0_67\bin;%JAVA_HOME%\jre7\bin;C:\ProgramData\Oracle\Java\javapath; 里面也有javapath ,这个...

2018-03-30 10:20:30 1210

原创 spring注解 个人总结

https://www.cnblogs.com/xingzc/p/5777814.html框架用到的注解汇总1,@SpringBootApplication@SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScanConfiguration 相当于bean

2018-03-28 13:21:34 197

原创 2重List的for循环简单优化问题

面试题

2018-03-07 11:06:32 587

原创 Spring注解的使用

最近在研究缓存相关技术,突然发现通过定义Spring注解的方式来控制是否使用缓存挺好用的使用方法@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface UsingModelCache { boolean value() default true;}https...

2018-02-27 11:46:43 112

原创 类加载器个人总结

类加载器的意义:.java文件编译后变成.class文件,保留着虚拟机指令,当某个类需要被加载的时候,虚拟机加载他的.class文件,并创建class对象,放到内存中类加载过程:加载:没什么好说的验证:报错应该是在这里产生的准备:为类变量分配内存并设置该类变量的初始值(注:实例变量会随着对象一起分配到堆中)(static int i= 3 在这里时 初始化int =0

2018-02-23 11:04:21 115

原创 什么时候创建/不创建索引

很简单,记住这几条就行创建索引:1常用的查询条件2 外键列3 常用的排序列4 常用的分组列不创建索引:1 表数据量很少2 类似性别 值只有男女,还是各50%,用索引提高不了性能3 table t 的 t.a t.b t.c 3个列,确定一个就可以得到其他2个,只要给一个加索引就可以了索引不要创建太多,用索引查询也消耗性能复核索引where A =1 AND B = 2 AND C =3可以创建复核...

2018-02-22 15:22:01 339

转载 垃圾回收问题个人总结

这个问题读过jvm,看了网上其他人的一些想法,总结一下自己的想法垃圾回收分3步:1 回收什么2 回收的时间点3 回收的方法一 什么时候回收 当内存中记录的对象没有用了,就回收了“程序计数器、虚拟机栈、本地方法栈3个区域会随着线程而生,栈中的栈帧随着方法的进行有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知得,因此这

2018-02-22 11:15:49 565

转载 ThreadLocal 的理解

http://blog.csdn.net/qq_36523667/article/details/78877176ThreadLocal的get方法public T get() { Thread t = Thread.currentThread(); ThreadLocalMap map = getMap(t); if (map != null) {

2018-02-22 10:07:48 173

原创 redis 和 memcache

NoSql泛指非关系型数据库分4类(key-value)存储数据库 ——常用列存储数据库文档型数据库图形数据库redis基于内存的高性能(key-value)存储型数据库先了解一个概念Memcache(缓存,分布式缓存)在缓存中缓存了常用数据,定期更新不常用数据,如果查询的数据在缓存中没有,则向数据库查找。长时间不使用的数据将被淘汰(LRU,缓存

2018-02-06 14:19:53 138

原创 环境变量配置注意!

1 环境变量配置放在path里面,2个变量之间要有英文分号;2 环境变量所有目录,不要有特殊字符,空格等3 配置成功后,在cmd里面打入配置的变量,有会提示,则配置成功

2018-01-22 17:40:04 588

原创 读阿里巴巴开发手册总结

1.boolean类型变量,不用用isDelete命名,应该直接用delete命名,因为他的默认的get方法也是isdelete 但是可能某些反编译过程会认为变量是delete2.包名统一小写,点分割符之间有且只有一个自然语义的英文单词3.if/for/while/switch/do 保留关键字与括号之间必须加空格4.//与注释内容之间有一个空格5.所有的覆写放法,要加@Overr

2017-12-22 17:50:23 182

原创 什么时候用存储过程

1.数据量非常大,不适合数据先移植到程序中,在处理,可以直接在存储过程中处理,2.数据几乎都是表操作,没有什么复杂的操作,3.存储过程可以有效的防止注入,4,当服务器程序员水平不如DBA时候采用存储过程

2017-12-22 17:10:41 574

原创 从变量类型角度分析——重写和重载

Human man =new Man();

2017-11-28 20:26:45 211

原创 eclipse console 输出每行最大值和输出行问题

eclipse里有时候需要打印出来执行的sql,在spring里面配置loggername="java.sql"level="debug"additivity="true"/>问题1:但是如果你的sql特别长,在consloe里面可能单行显示不下[%date{yyyy-MM-dd HH:mm:ss}] %requestNo %-5level [%logger{6

2017-11-23 17:37:41 1499

原创 经典面试问题引发的一些想法

String s = new String("a");这句话创建了2个对象,一个是在java栈中创建了对象 s另一个是在常量池中创建了对象a而内存的分配详情如下s(绿色) 在java栈本地变量表中分配内存new String(橙色) 在堆内存中分配空间,用于存储指向a的地址String(红色) 在方法区里记载s对象的父类,接口等信息a(紫色) 在方法区的常量池内

2017-11-20 16:50:01 173

转载 enum和 final static做常量表

http://blog.csdn.net/qq_27093465/article/details/52180865(侵删)enum适合用于多属性常量final static 适合用于单属性常量

2017-11-17 17:14:18 1038

原创 一组数字去重

方法1:把这组数据装进hashset里面set不能存储重复数据,可以达到去重效果方法2:用遍历这组数据,新建一个list来接收,用list.contains 来判断,重复的不要添加 这2种方法都是利用封装好的类的特性来做的,写一个底层的去重方法,还不太熟悉,待研究

2017-11-14 16:04:50 633

转载 监听,异常问题

RuntimeException 表示这种异常是否出现经常不可预料,出现了的话,就中止处理。Error 一般表示无法恢复的故障,也就是你再试一次依然会出错,比如 OutOfMemoryError,试多少次很大概率出错的。Exception 则表示一般性的异常,而且这种异常是设计中早已考虑到很常见的错误,并且一定要求在设计中说明如果处理这种异常。如果抛出一个异常:runtimeException 而

2017-11-08 19:22:42 476

原创 n++和++n堆栈问题

题目貌似很简单,这里主要写反编译过程的堆栈问题代码apublic class test {public static void main(String[] args) {int n = 100;n = ++n;System.out.println(n);}}代码bpublic class test {public static void main

2017-10-31 20:00:50 568

原创 Shell 关闭的右上角按钮添加事件

目标就是这个组件的监听问题要做到如下效果想在弹窗1里加入“确定”,“取消”按钮里加入监听是很容易的,但是在弹窗1的右上角的关闭,和系统功能Esc里面加入事件,困扰了我快一个小时解决办法:给弹窗1的shell添加监听        dialog.getShell().addListener(SWT.Close, new Listener() {       

2017-10-30 10:19:59 667

转载 webservice 接口测试demo

public class OrganisationWebServiceTest {   public static void main(String[] args){    try {//XML解析后的字符串    String temp=new OrganisationWebServiceTest().readXml(); //webservice发布地址   

2017-10-17 16:56:14 1391

原创 sql优化个人总结

看到网上很多很多sql优化的讲解个人在这里总结一份,符合自己理解的版本1.硬件方面:CPU(I/O吞吐量小),内存,网速等,配置虚拟内存2.表方面:A )索引:http://blog.csdn.net/youzhouliu/article/details/51670807 (这里写的太好了)B)横向纵向分割表,减少表的厚度C ) 待完善3.sql方面:这个是程序员接触的重中之重1)简单的:尽力不要...

2017-10-12 19:10:44 201

空空如也

空空如也

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

TA关注的人

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