自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

懒得停下脚步

书读得多而不思考,你会觉得自己知道的很多. 书得的多而思考,你会觉得自己不懂的越来越多.

  • 博客(43)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java8中计算日期时间差

一.简述在Java8中,我们可以使用以下类来计算日期时间差异:1.Period2.Duration3.ChronoUnit二.Period类主要是Period类方法getYears(),getMonths()和getDays()来计算.示例:package insping;import java.time.LocalDate;import java.time.Month;import j

2017-06-16 15:50:05 64682 1

原创 Java8中 Date和LocalDate的相互转换

一.简述Date对象表示特定的日期和时间,而LocalDate(Java8)对象只包含没有任何时间信息的日期。因此,如果我们只关心日期而不是时间信息,则可以在Date和LocalDate之间进行转换。二.Date转LocalDate如果要将java.util.Date转换为java.time.LocalDate,可以使用以下步骤:1)将java.util.Date转换为ZonedDateTime

2017-06-16 15:30:57 163929 1

原创 JAVA设计模式之原型模式

一.简介原型模式是一种创建型设计模式,原型模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节.工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。二.实现在此之前你最好能对浅复制和深复制有一定的理解. java详解浅复制和深复制 http://blog.csdn.net/hspingcc/articl

2017-01-24 14:53:48 363

原创 JAVA设计模式之创建者模式

一.简介将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式(来自:设计模式:可复用面向对象软件的基础)。 传送门: 工厂方法模式:http://blog.csdn.net/hspingcc/article/details/54695008 抽象工厂模式:http://blog.csdn.net/hspingcc/article/det

2017-01-24 11:06:25 371

原创 JAVA设计模式之抽象工厂模式

一.简介抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。学习之前抽象工厂模式之前,最好事先熟悉下工厂方法模式. 工厂方法模式:http://blog.csdn.net/hspingcc/article/details/54695008抽象工厂模式的出现背景简单的说一下,是由于工厂方法模式设计的时候存在一个问题,类的创建依赖工厂类,也就是说,如果想要拓展程序(比如就上个链接中的工

2017-01-24 10:33:19 371

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

一.定义是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;具体产品.抽象工厂(Creator)角色:是工厂方法模式的核心,与应用程序无关。任何在模式中创建的对象的工厂类必须实现这个接口。具体工厂(Concrete Creator)

2017-01-23 17:43:50 425

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

一.定义单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例.二.单例模式的写法(Java)1.懒汉-方法1public class Singleton { private Singleton() { } private static Singleton instance = null; publi

2017-01-23 16:26:37 328

原创 Java%(取模运算)详解

一.Java的取模运算1.实现算法public static double ramainder(double dividend, double dividor) { return dividend - dividend / dividor * dividor; }2.java的取模运算支持类型:字符型(自然不包括负数)、字节型、短整型、整型、长整型、单精度浮点型、双精度浮点型

2017-01-20 10:58:46 39732

原创 C++11多线程之mutex等锁机制和atomic原子操作对比

一.简介这里以mutex锁机制为例.mutex函数:是一套专门用于线程同步锁机制的函数. #include <mutex> using namespace std;atomic原子操作:是在新标准C++11,引入了原子操作的概念,并通过这个新的头文件提供了多种原子操作数据类型,例如,atomic_bool,atomic_int等等. #include <atomic>

2017-01-19 16:36:54 20285 5

原创 使用优先队列实现游戏公告模块(Java)

一.问题描述**实现公告消息分优先级,优先级高的公告,优先推送,同一优先在其后面加入.有点像是队列里面的分组还是队列的数据结构.思路首先使用优先级做队列,然后根据时间戳做队列.然后定期推送.如果优先级高者加入,立刻推送,并将未播放完的公告加入队列.**二.相关的类和方法的实现Notice类:公告的消息体/** * 公告信息体 * * @author insping * */publi

2016-07-06 12:17:44 2031

原创 SQL语句insert into 不存在则插入,存在则修改

一 测试表的创建-- ------------------------------ Table structure for User-- ----------------------------DROP TABLE IF EXISTS `User`;CREATE TABLE `User` ( `uid` int(11) NOT NULL, `name` varchar(255)

2016-05-19 11:46:12 17427 5

原创 Java8中的Lambda表达式

一.简述Lambda表达式本是属于JDK1.7的Lambda项目的内容.在JDK1.7开发琪琪,Sun公司由于相继在技术竞争和商业竞争中都深陷泥潭,公司的股票市值跌至仅有高峰时期的3%,已无力推动JDK1.7的研发工作按正常进行.为了尽快结束JDK1.7长期"跳票"的问题,Oracle公司收购Sun公司后不就便宣布将实行"Plan B","Plan B"把不能按时完成的Lambda项目,Jigsaw

2017-08-07 11:15:05 2139

原创 JDK各版本的下载

链接地址 http://www.oracle.com/technetwork/java/archive-139210.html

2017-08-07 09:58:28 1308 1

原创 Eclipse一闪而过的问题解决

一.Eclipse一闪而过二.打开cmd 输入 “Java -version”显示Error occurred during initialization of VMjava/lang/NoClassDefFoundError: java/lang/Object三.其他解决方案附上其他的解决方案1.[修改eclipse.ini相关参数](https://stackoverflow.com/q

2017-08-07 09:56:02 3006 1

原创 Java8中的函数式接口及使用

一.简述函数式接口是仅制定一个抽象方法的接口,也可以包含一个或多个静态或默认方法.二.示例形式1:package insping;public interface MyInterface { int add(int a, int b);}形式2:package insping;public interface MyInterface { int add(int a, int

2017-06-16 16:52:24 2331

原创 Java8中的静态接口方法

一.简述1.JDK 8增加了可以在接口中定义一个或多个静态方法的规则。2.由于它是静态的,所以由接口定义的静态方法可以独立于任何对象被调用。因此,调用静态方法不需要实现接口。3.静态接口方法不被实现类或接口继承。二.示例创建一个带有静态方法的接口:package insping;public interface InterfaceWithStaticMethod { static Stri

2017-06-16 16:36:56 1992 1

原创 Java8中使用默认方法实现多重继承的测试

测试内容:当一个类从超类和接口继承相同的方法时会发生什么?一个超类MyClass:package insping;public class MyClass { public String getString() { return "MyClass"; }}一个接口MyInterface:package insping;public interface MyIn

2017-06-16 16:23:23 1207

原创 Java8中接口的默认方法

一.简述在JDK 8之前,一个接口不能包含任何实现。接口只包含常量和方法签名。从JDK 8开始,可以定义接口中方法的默认实现。这些方法称为默认方法。使用关键字"default"声明一个默认方法,它包含一个方法体。所有实现类接口的默认方法都可用。如果实现类想要使用它,它可以使用它,或者它可以忽略默认实现并创建自己的实现。即使接口现在可以定义默认方法,如果要创建实例,接口仍然必须由类实现。二.实

2017-06-16 16:14:09 3658

原创 Java8中 Date和LocalDateTime的相互转换

一.在Java 8中将Date转换为LocalDateTime方法1:将Date转换为LocalDatetime,我们可以使用以下方法:1.从日期获取ZonedDateTime并使用其方法toLocalDateTime()获取LocalDateTime2.使用LocalDateTime的Instant()工厂方法示例:package insping;import java.time.Instan

2017-06-16 15:38:49 163116 5

原创 Java8中 LocalDate和java.sql.Date的相互转换

一.简述首先,Java 8引入了java.time.LocalDate来表示一个没有时间的日期。其次,使用Java 8版本,还需要更新java.sql.Date,以便为LocalDate提供支持,包括toLocalDate和valueOf(LocalDate)等方法。二.java.time.LocalDate转换为java.sql.Datejava.sql.Date.valueOf( localD

2017-06-16 15:21:32 9722

原创 Java8中的日期时间

一.Java 8 日期时间的APIJDK 8中引入了一个新的Joda Time api,包含java.timejava.time包有几个重要的类.1.LocalDate:代表以日期为单位的日期,对于无时间表示日期很有用。2.LocalTime:表示当天的时间。3.LocalDateTime:处理日期和时间二.使用LocalDate和LocalTimeLocalDate,LocalTime或

2017-06-16 15:12:54 605

原创 复制SQL表的数据

SELECT * INTO TABLE2 FROM TABLE1备注:mysql会报 [Err] 1327 - Undeclared variable: user2 的错误.可以使用 Create table user2 (Select * from user1) 代替.

2017-06-16 14:34:49 354

转载 HTTP Header 详解

HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传递message- header,即http header消息 。httpheader 消息通常被分为4个部分:ge

2017-06-14 12:01:27 435

原创 简述Tomcat的日志系统

一.Tomcat的日志目录(./tomca/logs/) 1.catalina.2017-06-14.log 或者 catalina.out :引擎的日志文件 2.host-manager.2017-06-14.log :这个我也不知道什么日志,如果有人知道麻烦解释一下 3.localhost.2017-06-14.log :Tomcat下内部代码丢出的日志

2017-06-14 11:52:27 12175 1

原创 Java中的内部接口

一.内部接口简介内部接口也称为嵌套接口,即在一个接口内部定义另一个接口。举个例子,Entry接口定义在Map接口里面,如下代码:public interface Map { interface Entry{ int getKey(); } void clear();}二.内部接口的特点和意义三个主要的理由. 1.一种对那些在同一个地方使用的接口进行逻辑上分

2017-02-08 09:10:22 6248

原创 java构造代码块详解

一.简介首先说一下,Java中有哪些代码块.普通代码块就是在方法后面使用"{}"括起来的代码片段,不能单独执行,必须调下其方法名才可以执行.静态代码块在类中使用static修饰,并使用"{}"括起来的代码片段,用于静态变量的初始化或对象创建前的环境初始化.同步代码块使用synchronize关键字修饰,并使用"{}"括起来的代码片段.它表示在同一时间只能有一个线程进入到该方法快中,是一种多线程保

2017-02-06 15:58:53 23383 7

原创 cocos2dx安装和初步使用

一.准备工作下载并安装python链接:https://www.python.org/downloads/注意:配置好环境变量,即可.二.安装cocos2dx1.下载并解压cocos2dx下载链接:http://www.cocos.com/download将其解压(PS:目录最好不要有中文).此时直接运行 setup.py 会提示缺少相关的组件.接下来 我们来处理相关需要的组件(SDK,NDK

2017-02-06 09:44:25 17828 1

原创 java详解浅复制和深复制

一.简介⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象都复

2017-01-24 13:35:33 766

原创 VS开发C++代码格式化设置(AStyle)

一.下载Astyle插件下载地址: https://marketplace.visualstudio.com/items?itemName=Lukamicoder.AStyleExtension二.安装AStyle1.打开AStyleExtension.vsix 2.选择相应的VS版本 3.重启VS,然后打开 工具 -> 选项 , 如果有 “AStyle Formatter” 选

2017-01-18 16:35:11 17124 1

原创 C++指针与引用的区别

一.指针和引用的定义和性质区别1.指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元。 而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。2.不存在空引用。引用必须连接到一块合法的内存。3.一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。4.引用必须在创建时被初始化。指针可以在任何时间被初始化。后面延伸出来的不同

2017-01-17 14:57:59 472

原创 Java正则表达式详解(Pattern类和Matcher类)

一.Pattern类(import java.util.regex.Pattern)通过Pattern.complie(String regex)简单工厂方法创建一个正则表达式(PS:它的构造方法是私有的,不可以直接创建) Pattern p = Pattern.compile("java*"); p.pattern();// 返回java* ,返回的既是正则字符串.1

2017-01-17 10:06:04 1903

原创 循环队列(贪吃蛇版)

特殊功能的循环队列特点:一.入队列不会满的情况下,会覆盖掉尾部的数据.二.快速从尾部获取指定个数个数据.代码:public class LoopQueue<T> implements Serializable { private static final long serialVersionUID = -3670496550272478781L; private int DEFAULT

2017-01-13 16:16:19 859

原创 java实现最简单socket通讯

一.服务器public class HServerApp implements Runnable { public int port; public HServerApp(int port) { this.port = port; } @Override public void run() { try { S

2017-01-13 16:07:27 17703 2

原创 常用CDK生成Java算法(大数异或)

常用于游戏中的CDK的生成.(如果需求较大,可进一步扩展位数,和一次生成的数量)private static final int mask = 23;//大数异或的标private static Map<Integer, Integer> base = new HashMap<Integer, Integer>();//参数private static Random random = new Ra

2017-01-13 15:55:02 7032 1

原创 常用屏蔽字符的处理方法

一、功能介绍:再不改变原有的字符串的格式的基础上,实现对屏蔽字的处理。二、代码实现:/** * List<Character> 转字符串的方法 * @param in * @return */ public static String characterListToString(List<Character> in) { String

2016-08-09 10:40:46 4737

原创 Collections.sort 排序出现的java.lang.IllegalArgumentException的异常

1.问题分析(Java 7)在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,内部实现换成了TimSort(做了大量优化的归并排序),其对对象间比较的实现要求更加严格: Comparator的实现必须保证以下几点: 原则1. sgn(compare(x, y)) == -sgn(compare(

2016-07-13 11:44:02 3848

原创 应用二维数组实现抽奖功能(九宫格)

一.需求简介:使用二维数组划分物品的分区,物品出现的顺序为分区的顺序,分区内物品为权重随机. 例如:分区内有’item1:10,item2:20’表示item1出现的概率为10/30二.九宫格类(代码)import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Ra

2016-07-12 21:02:50 1190

原创 详解java中&&和&

一 . 首先两者都是逻辑与运算1.都具备逻辑与的功能 if (true&&true) { System.out.println("true"); } //结果:true if (true&true) { System.out.println("true"); }

2016-07-12 14:17:16 578

原创 java中foreach循环的注意事项

简单的ArrayList小例子: List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); for (Integer integer : list) { System.out.println(inte

2016-07-11 10:26:26 2165 1

原创 对比ArrayList和LinkedList 使用普通循环和迭代循环的性能

先看一下例子:public static void testForAndIterator() { int result; List<Integer> a = new ArrayList<>(); LinkedList<Integer> b = new LinkedList<>(); for (int index = 0; index <

2016-06-30 10:19:49 1703

空空如也

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

TA关注的人

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