
java常用
文章平均质量分 58
慵懒的树獭
转型中的Android开发
展开
-
java正则表达式判断IP
真正用到的时候,查找就发现很多都是错误的,所以还是自己整理将正确的代码记录一下吧。。 以下亲测可用,判断字符串是否符合IP地址格式 public static boolean isboolIp(String ipAddress) {if (ipAddress.length() < 7 || ipAddress.length() > 15) {return fals...原创 2017-05-09 16:40:22 · 3055 阅读 · 2 评论 -
TimerTask类和Timer类的cancel()方法详解
无论是TimerTask类还是Timer类,其cancel()方法都是为了清除任务队列中的任务。虽然都是清除任务队列中的任务,却有一些不同:TimerTask类中的cancel()方法侧重的是将自身从任务队列中清除,其他任务不受影响,而Timer类中的cancel()方法则是将任务队列中全部的任务清空。下面以具体示例进行演示。TimerTask类中的cancel()方法测试:import ...原创 2018-09-26 10:12:08 · 1282 阅读 · 0 评论 -
线程池ThreadPoolExecutor构造方法和规则
Java多线程-线程池ThreadPoolExecutor构造方法和规则 为什么用线程池博客地址 http://blog.youkuaiyun.com/qq_25806863原文地址 http://blog...转载 2018-08-03 11:22:10 · 207 阅读 · 0 评论 -
Java 四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?new Thread(new Runnable() {@Overridepublic void run() {// TO...转载 2018-08-10 16:36:56 · 289 阅读 · 0 评论 -
ThreadPoolExecutor线程池submit() 和 excute()区别
在研究ThreadPoolExecutor线程池的时候,发现可以有两种启动线程的方法:submit(Runnable runnable),excute(Runnable runnable) 先说个结论吧:submit()方法,可以提供Future &lt; T &gt; 类型的返回值。 executor()方法,无返回值。首先,我们看一下ThreadPoolExecutor的类图: ...原创 2018-08-10 11:18:27 · 13339 阅读 · 1 评论 -
Java中Cloneable接口的浅复制与深复制
Java中的深拷贝(深复制)和浅拷贝(浅复制) 深拷贝(深复制)和浅拷贝(浅复制)是两个比较通用的概念,尤其在C++语言中,若不弄懂,则会在delete的时候出问题,但是我们在这幸好用的是Java。虽然java自动管理对象的回收,但对于深拷贝(深复制)和浅拷贝(浅复制),我们还是要给予...转载 2018-05-15 15:40:53 · 1027 阅读 · 0 评论 -
设计模式--单例模式
单例模式的八种写法比较 单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例的方式,让我们来一起看看吧。 简介...转载 2018-03-21 10:11:53 · 157 阅读 · 0 评论 -
java基础复习-java内存管理以及GC原理和优化建议
Java内存模型及GC原理 一个优秀Java程序员,必须了解Java内存模型、GC工作原理,以及如何优化GC的性能、与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序的性能。本文将从JVM内存模型、GC工作原理,以及GC的几个...转载 2018-03-08 12:01:14 · 310 阅读 · 0 评论 -
java基础复习——冒泡排序以及改进
冒泡排序算法,基本是我们遇到的第一个排序算法,虽然效率并不高,但毕竟是引入门的算法,还是必须要了解的。 基本思想 在待排序的一组数据中,对还未进行排序的数据,按照从下到上的顺序遍历,依次比较相邻两个数据的大小,将较大(小)值向上冒泡,即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换;循环直到数组中的最后一组数据的比较。此时极大(小)值就出现在了最上边。 基本步骤:...原创 2018-02-08 13:49:11 · 669 阅读 · 0 评论 -
java基础复习——二叉树以及代码实现
说到二叉树,那都是很久以前学的了。。。 最近听到之前的一个同事说,有人说他基础很好,可以写出二叉树等数据结构的实现,这。。。虽然在很多人看来并没有什么,但是。。。我TM对二叉树完全没印象了,突然觉得自己好菜啊~~~所以痛下决心,需要复习一下基础知识了~~~ 那么就先从这个二叉树开始吧。所谓的二叉树,它是一种数据结构,同时具有数组和链表各自的特点:它可以像数组一样快速查找,也可以像链表一样快原创 2018-01-26 11:50:17 · 3009 阅读 · 0 评论 -
java代理模式以及实现
概念 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。 使用图表表示如下: 目的 在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 使用场景 但需要对现有的代码增加新的功能时,如果直接在原有代码上修改,一方面要熟悉之前的代码,另外修改的代码还可能带来新的问题。因此这时代理模式就可以很好的解决这个问题:不修改之前已经写好...原创 2018-02-08 22:05:39 · 965 阅读 · 0 评论 -
java并发编程:CountDownLatch、CyclicBarrier和Semaphore
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore Java并发编程:CountDownLatch、CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarr转载 2018-01-10 10:24:00 · 195 阅读 · 0 评论 -
java中Math常用的数学函数
最近AI比较火,于是没事自己看下深度学习等方面的文章。 深度学习中的各种算法,用到了数学领域的很多公式、函数,回头想要敲代码熟悉一下这些算法时,发现很多公式、函数不用用代码写了,还要翻Math类。所以在这里记录一下Math中常用的函数,以备不时之需。Math.E //自然常数e=2.7182818284590452354Math.abs(12.3原创 2017-11-23 18:38:13 · 5804 阅读 · 3 评论 -
java-Queue的add/offer/put,remove/poll/take,element/peek异同
记录一下java中,Queue的add/offer/put,remove/poll/take,element/peek方法的差异。 1. add/offer/put的区别add会在队列尾部增加一个元素,但是如果队列已满,会抛出unchecked 异常;offer在向一个已满的队列中添加新元素时,会返回false,不会抛异常;put方法只存在于****BlockingQueue类型的阻塞队列中,使用原创 2017-09-28 15:44:59 · 3024 阅读 · 0 评论 -
微信支付-商户后台(4)
今天终于把关于微信的后台以及调试都整好了,不可谓不艰辛啊~~最终的完整代码,请查看我的github,直接git,修改config中的APP_ID,MCH_ID以及MCH_SECRET就可以运行了。简单说一下代码中包含的内容:1. 统一下单功能,2. 支付结果通知接口;3. 支付结果查询功能;4. 沙盒仿真系统测试代码关于沙盒仿真系统的测试说明一下:在调用仿真系统接口之前,需要先调用沙盒signkey原创 2017-07-28 18:23:32 · 4469 阅读 · 0 评论 -
微信支付-商户后台(3)
今天基本上功能都完成并通过了测试,包括mysql数据库的连接,myBatis的配置,所有的代码已上传至github: https://github.com/shangXiaoM/WXPayHost介绍下最近完成的功能: 1. mySql数据库的安装和配置 按照百度经验,安装配置mySql数据库即可 http://jingyan.baidu.com/article/54b6b9c0eb5原创 2017-07-18 15:51:40 · 2072 阅读 · 0 评论 -
微信支付-商户后台(2)
OK,继续我的苦逼支付后台开发之路。。经过不断的摸索,最后spring boot应用还真被我整出来了,来看下效果图吧:因为完整的支付申请还没有下来,所以暂时只输出了错误信息,不过起码说明这个网络是跑通了。好了,这样本地的开发和测试就完成了,接下来就是完整的支付系统整合,以及发布了。这是我的github地址,喜欢的可以拿去自己试下,直接使用eclipse导入maven项目就可以了。另外,安利两个我用于原创 2017-07-14 15:14:46 · 903 阅读 · 0 评论 -
微信支付-商户后台(1)
如题,本人一个android开发人员,要来开始摸索后台软件开发了… 没办法,公司项目要做支付模块,而又没有人做这个后台,我只能顶上了。。废话不多说,且来看我如何玩(meng)转(bi)微信商户后台。首先就是环境的搭建,对于如何开发一个后台服务系统,我真的是一窍不通。为此,不得不各种搜索资料,最后,竟然又把我之前舍弃到的eclipse重新拾起来了。。。我选择使用spring boot + maven的原创 2017-07-12 14:59:21 · 3129 阅读 · 0 评论 -
java基础复习——队列
队列概念复习了一下队列这种数据结构,队列这种数据结构起始挺好理解的:将它想象成奶茶店排队买奶茶的人,先排队的,排在队伍前面,先买到奶茶喝,后来排队的都在队伍后边,最后买到奶茶。先进先出,后进后出(FIFO)所以,队列是一种操作受限的数据结构。队列实现顺序队列顺序队列,顾名思义数据在队列中顺序存储。这样的特性,与数组的存储方式不谋而合,因此我们可以使用数组来实现顺序队列...原创 2018-11-21 16:43:04 · 423 阅读 · 0 评论