- 博客(42)
- 资源 (35)
- 收藏
- 关注
原创 排序算法
public class SSTool { public static void main(String[] args) { int []nums = {1,4,3,4,2,6,5,7,8,9}; System.out.println("source:"); for(int i:nums){ System.out....
2020-05-05 09:12:04
246
1
原创 springboot集成mybatis使用
mybatis可以集成在spring中或者是springboot中,两种方式的使用略有不同,可以支持xml映射和注解两种方式1、注解:(1)在application.properties中添加配置mybatis.type-aliases-package=com.database_02.mybatis_02_2.entityauthor.realname=tomcatauthor.n...
2018-07-03 15:49:22
254
原创 springboot集成redis
在springboot中集成redis1.resource/config/redis.configredis.host=localhostredis.port=6379redis.password=redis.database=1redis.pool.max-active=8redis.pool.max-wait=-1redis.pool.max-idle=500redis....
2018-07-03 15:48:56
289
原创 Zookeeper使用说明
1.Zookeeper介绍:(1)Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理.(2)Zookeeper典型的应用场景:(1...
2018-06-29 16:46:52
392
原创 RabbitMQ使用总结《一》-Java
1.Java版通信案例 (1)RabbitMQ常用发布订阅模式的运行流程消息在producer中产生,发送到MQ的exchange上,exchange根据配置的路由方式发到相应的Queue上,Queue又将消息发送给consumer,消息从queue到consumer有push和pull两种方式。 消息队列的使用过程大概如下: 1.客户端连接到消息队列服务器,打开一个channel。...
2018-06-29 15:33:16
301
原创 Netty自定义协议半包编解码
1.自定义协议客户端与服务器收发逻辑Netty中自带了多种编解码器,在项目中更常用的是自定义协议进行通信,此时需要自行处理半包问题,通过继承ByteToMessageDecoder可以方便的解决这个问题。服务器代码:Server main:public class SocketServer {public static void main(String[] args) thr...
2018-06-28 16:30:49
1449
1
原创 limax线程池与锁-Zdb
ZDB包括事物,锁,线程池等多个模块1.zdb随着进程开启而启动public final synchronized void start(limax.xmlgen.Zdb meta) { if (DBC.isRunning()) throw new IllegalAccessError("DBC is in use."); this.meta = testM...
2018-06-27 19:37:31
478
原创 limax远程过程调用RPC
RPC是双向通信的Protocol1.RPC,Protocol公共子类Skeletonpublic abstract class Skeleton { private volatile Object note; Skeleton() { } abstract void setTransport(Transport transport); abs...
2018-06-27 16:51:12
216
原创 limax协议解析StateTransportImpl
1.服务器与客户端注册att为NetTaskImpl//网络连接时attach的是NetOperation子类private void doAccept(SelectionKey key) throws IOException { ServerContextImpl context = (ServerContextImpl) key.attachment(); NetOper...
2018-06-27 16:50:47
324
原创 limax网络开启-Engine
NIO网络连接1.启动入口public void startNetEngine() throws Exception { runTaskBeforeEngineStart(); startNetEngineByThreadPoolSizeInfo(); runTaskAfterEngineStart();}2.runTaskBeforeEngine与runT...
2018-06-27 16:49:52
306
原创 limax配置加载-Loader
Loader加载limax配置进程启动入口static private final Loader instance = new Loader();//service-endpoint.xmlpublic static void load(String filename) throws Exception { instance.load(filename);}2.统一...
2018-06-27 14:23:44
302
原创 limax进程关闭-Stopper
使用JMX管理Java进程状态1.建立一个MBean接口public interface StopperMXBean { void setStopTime(long delayseconds); long getStopTime();}2.实现类public static final class Stopper implements StopperMXBean ...
2018-06-27 11:54:47
661
原创 LUA语法《二》
一、Lua的基本数据类型:1.数值(number):内部以double表示.2.字符串(string):总是以零结尾,但可以包含任意字符(包括零),因此并不等价于C字符串, 而是其超集.3.布尔(boolean):只有"true"和"false"两个值.4.函数(function):Lua的关键概念之一.不简单等同于C的函数或函数指针.5.表(table):异构的Hash表.Lua的关键概念之一...
2018-06-21 14:40:48
185
原创 Unity游戏开发技巧
1.在当前编辑器窗口中摁下“SHIFT + 空格键”,可以最大化/最小化当前窗口2.依次点击 暂停 -> 播放 -> 下一步 按钮可以从第一次帧开始调试程序;3.如果编辑器意外崩溃了,但场景未保存,这时可以打开工程目录,找到/Temp/_Backupscenes/文件夹,可以看到有后缀名为.backup的文件,将该文件的后缀名改为.unity拖拽到项目视图,即可还原编辑器崩溃前的场景。...
2018-06-08 18:40:26
431
原创 UGUI《一》
1.Text(1)Rect Transform 位置及锚点,可以设置组件的位置,以及组件适配问题。(2)Text(script),text本身属性,包括字体,字体位置,适配等。2.Image(1)Image中的参数含义:Source Image(图像源):纹理格式为Sprite。Color(颜色):图片叠加的颜色。Material(材质):图片叠加的材质。Raycast Target(射线投射目标...
2018-06-07 17:26:41
153
原创 lua语法《一》
1.元表与元数据(1)元表本质上是一个普通 Lua 表,元表中的键用来指定操作,称为“事件名”;元表中键所关联的值称为“元方法”,定义操作的行为。(2)可以方便的定义一个表作为另一个表的元表: mytable = {} mymetatable = {} setmetatable(mytable,mymetatable)(3)元表中定义了超出lua表常的操作,比如数据越界,两个表相互操作等。(4)元...
2018-06-06 11:20:37
166
原创 C#语法《一》
1.C#泛型委托(1)delegate//委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,事件是一种特殊的委托。//表示有两个参数,并返回int型,Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。public delegate int MethodtDelegate(int x, int y);使用: //1.声名委托 public...
2018-06-06 11:19:53
138
原创 xlua-demo
1.原生C#和lua如何通信? LuaInterface中间层,可以实现两者通信,lua执行需要在解释器中。2.xlua就是封装了各种中间层的实现,实现了C#语言各种语法下和lua通信。 xlua实现了C#到lua调用的wrap代码,相比反射可以更高效,从功能的角度xlua比LuaInterface更高级。3.在C#中加载和销毁lua代码 LuaEnv luaenv = new LuaEnv(...
2018-06-06 11:19:01
688
转载 lua-Coroutine
Lua的coroutine 跟thread 的概念比较相似,但是也不完全相同。一个multi-thread的程序,可以同时有多个thread 在运行,但是一个multi-coroutines的程序,同一时间只能有一个coroutine 在运行,而且当前正在运行的coroutine 只有在被显式地要求挂起时,才会挂起。Lua的coroutine 是一个强大的概念,尽管它的几个主要应用都比较复杂。1....
2018-06-06 10:21:23
1229
转载 centos7+mysql5.7安装
1.在官方网站下载tar.gz版本的mysql网址:https://dev.mysql.com/downloads/mysql/2.解压文件并存放在/usr/local/mysql路径下建立用户mysql,组mysql。后面mysql就使用这个用户来运行(注意这也是mysql启动脚本中默认的用户,因此最好不要改名)。#groupadd mysql#useradd -r -g mysql mysql...
2018-05-22 21:14:24
992
原创 eclipse,IDEA,VS快捷键
eclipse:0、”ctrl+H”打开文件搜索对话框1、alt+? 或 alt+/:自动补全代码或者提示代码2、ctrl+o:快速outline视图 查看当前类的方法或某个特定方法3、ctrl+shift+r:打开资源列表 ==> Open Type 查找类文件 Ctrl + Shift + T4、Alt+方向键上下:上下行交换内容或把当前行内容把上或下移动5、ctrl+/:自动注释当前行...
2018-05-03 17:05:07
270
原创 Window之cmd常用指令
cd : 显示当前目录的名称或将其更改cls: 清楚屏幕date:显示或设置时间del:删除至少一个文件dir:显示一个目录中的文件和子目录exit:退出cmdmkdir:创建目录move:将文件从一个目录移动到另一个目录path:显示当前系统中的path信息直接输入文件并回车可以直接打开文件。...
2018-05-02 16:32:02
175
转载 Jenkins使用教程
Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。本文以 CentOS7 环境为例,总结了 Jenkins 的安装与配置、邮件功能使用,并接入阿里巴巴的著名开源项目 fastjson,以此演示 Java 项目(SVN+Maven)中 FindBugs/CheckStyle/PMD 等常用插件的使用、单元...
2018-05-02 16:22:36
173479
9
原创 Ant之build.xml语法案例
<?xml version="1.0"?> <project name="Hello World Project" default="info"> <target name="info"> <echo>Hello World - Welcome to Apache Ant!</echo&a
2018-05-02 15:46:32
833
原创 maven之pom.xml语法案例
<project xmlns="http://maven.apache.org/POM/4.0.0 " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.or...
2018-05-02 14:55:38
1041
原创 Gradle之build.gradle 语法案例
group 'gradle-demo'//项目的版本号version '1.0-SNAPSHOT'// 使用maven做为jar包的信赖管理,通过mave仓库下载项目所需的信赖包apply plugin: 'maven'// 指定项目为java项目,项目编译(在项目提示符下执行:gradle build)时生成项目的jar包。apply plugin: 'java'// Intel...
2018-05-02 11:43:44
8779
翻译 Gradle使用《一》
1.gradle构建脚本在build.gradle中,脚本采用groovy语法,project和task是脚本中最重要的两个概念。2.task语法及执行:task的几种写法:a、task hello{ doLast{ println 'hello world' }}b、hello << { 相当于dolast println 'hello dolast'}c、hello.doFir...
2018-04-27 14:48:47
146
转载 JAVA线程知识梳理
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:254078193 我们一起学Java! 本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态
2017-05-04 13:52:36
192
转载 Xstream之常用方式与常用注解
参考资料 1 xStream框架完美实现Java对象和xml文档JSON、XML相互转换 http://www.cnblogs.com/hoojo/archive/2011/04/22/2025197.html 2 xStream完美转换XML、JSON http://archive.cnblogs.com/a/2025197/ 官网:http://xstream.codeha
2017-04-27 10:44:03
271
转载 JVM关闭前添加执行逻辑
今天在阅读Tomcat源码的时候,catalina这个类中使用了下边的代码,不是很了解,所以google了一下,然后测试下方法,Tomcat中的相关代码如下: Runtime.getRuntime().addShutdownHook(shutdownHook); 这个方法的含义说明: 这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,
2017-04-24 11:10:37
376
转载 git常用指令
版权声明:本文为博主原创文章,未经博主允许不得转载;来自http://blog.csdn.net/mynameishuangshuai目录(?)[+]开发中代码管理少不了使用Git,对于初学者来说Git命令的学习是一个难过的坎,为了帮助大家记忆并快速掌握Git的基本使用,我把常用的Git命令整理成思维导图,分享给大家。 高清大图在线预
2017-04-19 13:32:57
293
转载 Java NIO 系列教程
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。感谢并发编程网的翻译和投递。 (关注ITeye官微,随时随地查看最新开发资讯、技术文章。) Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲
2017-04-18 13:58:31
210
转载 Java常见的锁及其机制
1.synchronized锁2.ReentrantLock(1)重入锁它提供了lock()方法:如果该锁定没有被另一个线程保持,则获取该锁定并立即返回,将锁定的保持计数设置为 1。如果当前线程已经保持该锁定,则将保持计数加 1,并且该方法立即返回。如果该锁定被另一个线程保持,则出于线程调度的目的,禁用当前线程,并且在获得锁定之前,该线程将一直处于休眠状态,
2017-04-17 16:03:38
321
转载 Java中的Runnable、Callable、Future、FutureTask的区别与示例
Java中存在Runnable、Callable、Future、FutureTask这几个与线程相关的类或者接口,在Java中也是比较重要的几个概念,我们通过下面的简单示例来了解一下它们的作用于区别。Runnable其中Runnable应该是我们最熟悉的接口,它只有一个run()函数,用于将耗时操作写在其中,该函数没有返回值。然后使用某个线程去执行该runnable即可实现多线程,
2017-04-14 14:34:51
192
原创 unity3d-背景层设置
在开始一个项目的时候,首先要设置游戏的背景层,背景层一般是指那些静态的物体,设置步骤如下:1、新建一个create empty ,修改其名字为background,同时给这个物体添加一个sprite render组件,创建一个空物体用于向其中添加具体的背景精灵图像。2、拖动已有的背景图像到空物体的下面。这时候背景图像都是相互遮挡的,此时选择Inspector面板的,Laye
2015-12-16 20:48:51
4952
转载 Java并发编程:线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池
2015-10-13 15:09:14
226
转载 Java并发编程:Thread类的使用
Java并发编程:Thread类的使用 在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。 以下是本文的目录大纲: 一.线程的状态 二.上下文切换 三.Threa
2015-10-13 13:46:29
219
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人