- 博客(85)
- 收藏
- 关注
原创 将文件转成二进制以JSON格式调用服务接口保存至数据库
使用场景每个商户信息不一样,字段且不一样,商户信息统一用json格式保存至数据库;商户信息也可以文件内容,所以有了如下的实现。实现步骤文件内容转成字符串// 文件转字符串FileInputStream inputStream = new FileInputStream("E:\\dolphin\\pays\\apiclient_cert.p12");ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
2020-07-01 16:17:22
978
原创 SpringBoot问题集锦
问题一: SpringBoot应用部署在外置Tomcat中没有启动,无任何反应解决办法:启动类继承SpringBootServletInitializer并实现configure方法;@SpringBootApplicationpublic class PaysApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringAppl
2020-07-01 14:37:06
519
1
转载 wireshark的过虑规则
过滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP过滤端口例子:tcp.port eq 80 // 不管端口是来源的还是目标的都显示tcp.port == 80tcp.port eq ...
2019-07-08 00:13:33
367
转载 计算机网络各层主要协议报文格式详解
应用层(典型设备:应用程序, 如FTP, SMTP , HTTP)首先我们可以看到在应用层,根据当前的需求和动作,结合应用层的协议,有我们确定发送的数据内容,我们把这些数据放到一个缓冲区内,然后形成了应用层的报文data。主要协议如下:HTTP (Hypertext Transfer Protocol )超文本传输协议 <端口号 80>, 面向事务的应用层协议。DNS (Do...
2019-07-07 23:37:53
6855
原创 使用WireShark了解浏览器访问网络的整个过程
浏览器访问网络的整个过程有如下几步:比如访问:http://ismspark.hikvision.com/pms/action/mobile/carParkMobileRedirectDNS域名解析TCP三次握手请求与应答关闭连接第一个:DNS域名解析将域名解析成IP,如果url不包含端口号,则会使用该协议的默认端口号,HTTP协议的默认端口号为80。首先我们知道我们本地的机器上...
2019-07-07 15:28:03
5412
原创 Spring+SpringMVC+Hibernate+Maven的整合
主要记录对于整合Spring、SpringMVC、Hibernate以及Maven的一个步骤以及相关需要的配置文件,和需要注意的地方。PS:师傅要我整合这个的时候,看了网上很多例子,现在整合一下。Spring+SpringMVC+Hibernate+Maven的整合主要有以下几步:创建数据库表,本次使用的是PostgreSQL;创建Maven工程;添加项目需要的所有库;创建包结构;创建配置
2017-08-10 17:06:53
1482
原创 Java并发编程之同步关键字synchronized
昨天部门新人培训,讲到synchronized关键字的问题,发现对于synchronized的使用有些不太懂,于是今天总结一下:很久之前我在Java编程思想之并发编程这篇文章中写过,什么时候该使用同步?运用Brian同步规则:如果你正在写一个变量,它可能接下来将被另一个线程读取,或者正在读取一个上一次已经被另一个写过的变量,那么你必须使用同步,并且读写线程必须使用相同的监视器锁同步。同步分为两种,一
2017-08-10 14:59:02
361
原创 Android设计模式之单例模式
Android设计模式主要分为创建型模式、行为型模式以及结构性模式。 创建型模式主要有单例模式、Builder模式、原型模式、工厂方法模式以及抽象工厂方法模式。1. 单例模式定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。应用场景 确保某个类只有一个实例,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有一个。如访问IO和数据库等资源,需考虑使用单例模
2017-02-26 19:34:47
337
原创 ContextImpl类在Android Studio中找不到
想查看ContextImpl的源码时,无法找到ContextImpl这个类。由于ContextImpl是抽象类Context的实现类。然而查看Context类的继承结构,如下图:没有发现ContextImpl。后来查到原因是:这个文件是保护文件,就是注解了是内部保护文件,所以在eclipse,Androidstudio中都是不显示的。所以可以去SDk的安装目录中的sources文件夹中直接找那个Ja
2017-02-23 21:15:46
3575
原创 Android Studio快捷键
选中类 ,按下F4,可以打开类的源代码查看类结构:Windows:Alt + 7,Mac:Cmd + 7在编辑类的时候查看类的结构,出现对话框,Windows:Ctrl + F12 (默认未启用) ,Mac: Cmd + F12查看类的继承关系:Windows:Ctrl + H,Mac:Control + H
2017-02-23 21:07:50
273
原创 Ubuntu16配置JDK环境
官网下载JDK,附官网网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。选择相应的 .gz包下载 。切换到root用户权限。解压缩,放到指定目录(以jdk-8u121-linux-x64.tar.gz为例)。 × 创建目录 mkdir /home/xqq/softw
2017-02-12 13:47:01
1139
原创 No resource identifier found for attribute 'srcCompat' in package的解决办法
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.a
2016-12-05 15:16:24
4355
原创 Android Studio 更新后一直停在Refreshing gradle project问题解决
前几天听到一个小伙伴说Android Studio的新版本进行JNI开发特别方便,今天把Android Studio 升级准备来看看。解决办法: 查看自己android studio 安装路径下的 gradle 下的 gradle版本 比如 我的路径为:D:\StudySoft\android-studio\gradle\gradle-2.14.1,版本号就是 2.14.1。 查看正在r
2016-12-05 15:10:51
3047
转载 LinkedHashMap 的实现原理
LinkedHashMap 的实现原理LinkedHashMap 概述HashMap 是无序的,HashMap 在 put 的时候是根据 key 的 hashcode 进行 hash 然后放入对应的地方。所以在按照一定顺序 put 进 HashMap 中,然后遍历出 HashMap 的顺序跟 put 的顺序不同(除非在 put 的时候 key 已经按照 hashcode 排序号了,
2016-10-15 08:14:39
312
转载 Android系统ANR以及Force Close出现的原因以及解决办法
ANR是Application Not Responding的简称,当android某个应用处于长期假死状态时,系统会弹出一个窗口: XXX is not responding, force close or wait。 用户可以选择wait让程序继续运行,在程序里对响应性能的设计很重要,这样系统不会显示ANR给用户。1. ANR的产生应用程序的响应性是由Activity Manager和Wind
2016-09-06 22:30:57
1431
原创 Android进程的五个等级
Android系统中的进程分为六大类:前台进程,可见进程,服务进程,后台进程,空进程。前台进程 目前正在屏幕上显示的进程和一些系统进程。举例来说,Dialer Storage,Google Search等系统进程就是前台进程;再举例来说,当你运行一个程序,如浏览器,当浏览器界面在前台显示时,浏览器属于前台进程(foreground),但一旦你按home回到主界面,浏览器就变成了后台程序(back
2016-09-06 16:28:01
997
原创 归并排序之Java实现
归并排序是一种不稳定的排序,其复杂度为O(nlogn)。基本思想:泛型是指将两个或两个以上的有序序列合并成一个有序序列。初始时将每个记录看成一个单独的有序序列,然后再对有序序列进行两两合并。 其带泛型的实现如下:package com.xqq.归并排序;public class MergeSort { public static <T> void mergeSort(T [] arrays
2016-08-16 09:37:32
338
原创 选择排序之Java实现
本篇文章主要实现了冒泡排序的原始方法,以及两种改进方法:package com.xqq.冒泡排序;/** * 冒泡排序是对相邻两个记录进行关键字比较和交换,这样每次交换后只能改变一对逆序记录 * 而快速排序则是从待排序记录的两端开始进行比较和交换,并逐渐向中间靠拢, * 有可能改变挤兑逆序记录,从而加快了排序速度 * 快速排序: 当序列基本有序或者逆序时, 每一趟基准只能将其他记录分成一部分
2016-08-16 08:41:56
319
原创 交换排序(Java)
交换排序主要包括冒泡排序与快速排序,下面是冒泡排序和其两种改进方法、快速排序以及其改进方法的代码:package com.xqq.冒泡排序;/** * 冒泡排序是对相邻两个记录进行关键字比较和交换,这样每次交换后只能改变一对逆序记录 * 而快速排序则是从待排序记录的两端开始进行比较和交换,并逐渐向中间靠拢, * 有可能改变挤兑逆序记录,从而加快了排序速度 * 快速排序: 当序列基本有序或者逆
2016-08-15 16:40:26
329
原创 插入排序(Java)
常见的插入排序有直接插入排序、折半插入排序和希尔排序三种。接下来我就将这三种的实现附代码如下:package com.xqq.插入排序;public class Sort<T> { @SuppressWarnings("unchecked") public void insertSort(T[] arrays) { if (arrays == null || array
2016-08-15 15:09:30
279
原创 各种排序实现及比较(Java)
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。内排序有可以分为以下几类:插入排序:直接插入排序、二分法插入排序、希尔排序。插入排序Java实现选择排序:简单选择排序、堆排序。选择排序Java实现交换排序:冒泡排序、快速排序。交换排序Java实现归并排序:归并排序Java实现基数
2016-08-06 18:50:38
440
原创 二叉平衡树(Java)
在学习了 二叉排序树 的基础上,继续结合TreeMap的源码实现了二叉平衡树。性质平衡二叉搜索树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。常用算法有红黑树、AVL、Treap、伸展树等。在平衡二叉搜索树中,我们可以看到,其高度一般都良好地维持在O(log2n),大大降低了操作的时间复杂度。实现
2016-08-01 15:38:39
709
3
原创 字符串之KMP算法(Java)
字符串匹配的KMP算法,我之前复习数据结构的时候看过一遍没有看懂,今天我结合左程云的“程序员代码面试指南”和 阮一峰:字符串匹配的KMP算法 可以算是基本理解了KMP算法的思想。突然发现这个算法也并不复杂,之前想到就头痛(我滴天!)。KMP算法基本思想KMP算法是一种用于字符串匹配的算法,这个算法的高效之处在于当在某个位置匹配不成功的时候可以根据之前的匹配结果从模式字符串的另一个位置开始,而不必从头
2016-07-30 18:29:19
663
1
原创 二叉排序树(Java)
二叉排序树的删除代码,在网上看到很多,都感觉有点繁杂难以理解,于是,我结合了TreeMap的remove()方法写出二叉排序树的实现,如果有错误的地方,还请大家多多指正~~性质二叉排序树又称“二叉查找树”、“二叉搜索树”。二叉排序树:或者是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值。若它的右子树不空,则右子树上所有结点的值均大于它的根结点的
2016-07-28 00:53:17
643
原创 二叉树的基本知识以及各种遍历(Java)
重要概念完全二叉树——若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二叉树。 满二叉树——除了叶结点外每一个结点都有左右子叶且叶结点都处在最底层的二叉树,。深度——二叉树的层数,就是高度。性质在二叉树中,第i层的结点总数不超过2^(i-1);深度为h的二叉树最多有2^h-1个结点(
2016-07-27 17:14:47
419
原创 Android Binder实现原理
参考文章:http://blog.csdn.net/topgun_chenlingyun/article/details/8203823
2016-07-20 10:39:02
294
转载 socket长连接、短连接以及心跳包机制
出于最近对im研究的兴趣,看到smack里有个30s发送一个空消息的线程,了解了下关于心跳包,keepalive的知识。 TCP的socket本身就是长连接的,那么为什么还要心跳包呢?搜索到的资料解释如下:一:内网机器如果不主动向外发起连接,外网机没法直连内网的,这也是内网机安全的原因之一吧,又因为路由器会把这个关系记录下来,但是过一段时间这个记录可能会丢失 ,所有每一个客户端每隔一定时间就会向服务
2016-07-20 10:15:47
14935
2
原创 Android实现推送方式解决方案
参考文章: http://blog.csdn.net/clh604/article/details/20167263 http://www.cnblogs.com/hanyonglu/archive/2012/03/04/2378971.html
2016-07-20 09:57:06
439
原创 View与ViewGroup分类以及自定义View
参考文章:http://blog.sina.com.cn/s/blog_7dbac12501016cch.html
2016-07-20 09:55:32
695
原创 Bitmap的四种属性,与每种属性对应的大小
参考文章:http://blog.csdn.net/rabbit_in_android/article/details/49967461
2016-07-20 09:22:53
2745
原创 Android开发优化之——使用软引用和弱引用
参考文章:http://blog.csdn.net/arui319/article/details/8489451
2016-07-20 08:48:42
275
原创 Android缓存
参考博客:http://blog.csdn.net/liaoqianchuan00/article/details/8149734
2016-07-20 08:38:59
304
原创 Activity启动以及创建
参考网址: http://www.cnblogs.com/bastard/archive/2012/04/07/2436262.html
2016-07-20 08:24:32
356
原创 Android不同层次开启硬件加速的方式
在Android中,可以四给不同层次上开启硬件加速:1. 应用: <\application android:hardwareAccelerated=”true”>2. Activity <\activity android:hardwareAccelerated=”true”>3. Window getWindow().setFlags(WindowManager.LayoutPa
2016-07-20 08:22:49
294
转载 浅析Android中的消息机制
在分析Android消息机制之前,我们先来看一段代码:[java] view plain copypublic class MainActivity extends Activity implements View.OnClickListener { private TextView stateText;
2016-07-20 00:11:15
302
转载 Asset目录与res目录的区别
assets目录与res下的raw、drawable目录一样,也可用来存放资源文件,但它们三者有区别,对比总结如下表: assetsres/rawres/drawable获取资源方式: 文件路径+文件名 R.raw.xxx R.drawable.xxx 是否被压缩:NONOYES(失真压缩)
2016-07-20 00:02:31
4208
转载 Android中IntentService的原理及使用
在Android开发中,我们或许会碰到这么一种业务需求,一项任务分成几个子任务,子任务按顺序先后执行,子任务全部执行完后,这项任务才算成功。那么,利用几个子线程顺序执行是可以达到这个目的的,但是每个线程必须去手动控制,而且得在一个子线程执行完后,再开启另一个子线程。或者,全部放到一个线程中让其顺序执行。这样都可以做到,但是,如果这是一个后台任务,就得放到Service里面,由于Service和Ac
2016-07-19 23:52:41
424
转载 详解Android中AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下
2016-07-19 23:43:51
2927
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人