自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

u012233832的专栏

初生牛犊

  • 博客(44)
  • 资源 (12)
  • 收藏
  • 关注

原创 java 绑定线程池中的线程 BindThreadPool

package com.sibo.concurrent;import io.netty.util.concurrent.DefaultEventExecutor;import io.netty.util.concurrent.EventExecutor;import java.util.concurrent.atomic.AtomicInteger;/** * @author YU...

2018-10-09 20:01:52 722

原创 go reentrant lock(可重入锁) 简单实现

import ( "fmt" "runtime" "strconv" "strings" "sync")type ReentrantLock struct { mu *sync.Mutex cond *sync.Cond owner int holdCo

2018-09-07 19:56:08 3039

原创 java DiskQueue

package com.sibo.concurrent;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.nio.file.*;import java.util.ArrayList;import java.util.List;import java.util.co...

2018-08-27 16:34:11 404

原创 java CappedBufferQueue

package com.sibo.concurrent;// queue interfacepublic interface EventQueue<T> { void put(T event); EventBuffer<T> swap(EventBuffer<T> eventBuffer); boolean isEmpty()...

2018-08-27 16:32:37 186

原创 jvm内存区域思维导图

根据java虚拟机规范,方法区(Non-Heap)为堆的一个逻辑部分,即方法区属于堆但又与堆区别开。

2018-04-07 23:04:47 332

原创 Peterson lock互斥

Peterson lock是并发中实现两个线程互斥的经典算法// 假设两个thread的id分别为0,1public class Peterson { private volatile boolean[] flag = new boolean[2]; private volatile int last; // 声明为volatile保证last在线程间的可见性 p...

2018-04-02 23:21:16 391

原创 websocket详解

Websocket详解websocket草案版本websocket主要有两种协议草案,一种是早期的draft-hixie-thewebsocketprotocol,另外一种是延用至现在的draft-ietf-hybi-thewebsocketprotocol。两种草案中又有各自对应的细化版本。详细可见 https://tools.ietf.org/html/draft-hixie-t...

2018-03-21 18:40:03 1241

原创 go利用最小堆实现优先队列

实现代码package coreimport "container/heap"type Item struct { Value interface{} Index int Priority int}type PriorityQueue []*Itemfunc NewPriorityQueue(cap int) PriorityQueue {...

2018-03-21 00:14:37 2285

原创 java double-check-lock并发问题

// thread 1class Singleton { private static Singleton INSTANCE public static Singleton getInstance() { if (INSTANCE == null) { synchronized (Singleton.class) { ...

2018-03-20 22:13:19 978

原创 sun.misc.Unsafe详解

1. sun.misc.Unsafe类源码注释中文翻译//下面是sun.misc.Unsafe.java类源码package sun.misc;import java.lang.reflect.Field;/*** * This class should provide access to low-level operations and its * use should be ...

2018-03-20 22:05:45 780

原创 内存屏障

1. 什么是内存屏障它是一条CPU指令: a)确保一些特定操作执行的顺序; b)影响一些数据的可见性(可能是某些指令执行后的结果)。2. 内存屏障与处理器重排序现代的处理器使用写缓冲区来临时保存向内存写入的数据,每个处理器都有自己的缓冲区。写缓冲区可以保证指令流水线持续运行,它可以避免由于处理器停顿下来等待向内存写入数据产生的阻塞。同时,通过以批处理的方式刷新写缓冲区,以及合并写缓...

2018-03-20 00:38:13 4685

转载 Java中的伪共享(false sharing)以及应对方案

1. 什么是伪共享CPU缓存系统中是以缓存行(cache line)为单位存储的。目前主流的CPU Cache的Cache Line大小都是64Bytes。在多线程情况下,如果需要修改“共享同一个缓存行的变量”,就会无意中影响彼此的性能,这就是伪共享(False Sharing)。2. 缓存行由于共享变量在CPU缓存中的存储是以缓存行为单位,一个缓存行可以存储多个变量(存满当前缓存...

2018-03-19 23:11:27 5969

原创 golang使用sync.Cond实现CappedBlockingQueue

sync.Cond需要结合互斥量使用,生产者与消费者的流程基本如下图 本例子中的queue使用链表实现,最好修改为数组或切片package structureimport ( "container/list" "sync")// 队列内部结构,封装了listtype MessageBuffer struct { buf *list.List}...

2018-03-17 16:10:15 860 1

翻译 mysql导入导出数据

// 导入数据source xxx.sql// 导出数据// 1. 导出整个数据库(包含数据)mysqldump -u用户名 -p密码 --single-transaction --set-gtid-purged=off 数据库名// 2. 导出整个数据库结构mysqldump -u用户名 -p密码 --single-transaction --set-gtid-purged=off...

2018-03-17 15:39:30 129

原创 go实现tcp游戏服务器sibo——服务器实现篇

package serverimport ( "net" "time" "sync" "crypto/tls" log "github.com/sirupsen/logrus" "runtime" "bufio" "strings" "io" &q

2018-02-27 20:01:29 532

原创 go实现tcp游戏服务器sibo——序列化及压缩篇

1. 序列化上篇sibo协议的定制里其header部分包含了序列化类型及压缩类型的定义。 由于序列化为占用3个bit,因此最多可支持8种序列化方式。同理,压缩类型最多支持4种。sibo协议定义支持的序列化类型如下(共5种):const ( SerializeNone SerializeType = iota // 原始二进制 JSON ProtoBu...

2018-02-26 16:35:26 766

原创 go实现tcp游戏服务器sibo——协议篇

1. 协议格式任何游戏在动手编写代码前服务器与客户端的开发人员的首要任务是商定好协议的规则格式。下面以sibo协议为例:协议解析:---Header [8]bytepayloadLength [4]bytepayload [payloadLength]byte------Header各个byte...

2018-02-23 19:46:52 526

转载 MySQL数据库自增主键归零的几种方法

MySQL数据库自增主键归零的几种方法如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数:truncate table table_name;当用户没有truncate的权限时且曾经的数据不需要时:删除原有主键:ALTER TABLE 'table_name' DROP 'id';添加新主键:ALTER TABLE 'table_name' ADD 'id' int

2016-11-16 11:08:28 11280 1

原创 多线程与volatitle

java中将变量声明为volatitle后只能确保每个时刻获取到该变量的值是那个时刻的最新值。

2016-08-11 17:48:12 818

转载 mysql命令行备份数据库

MySQL数据库使用命令行备份|MySQL数据库备份命令 例如: ““ 数据库地址:127.0.0.1 数据库用户名:root 数据库密码:pass 数据库名称:myweb ““备份数据库到D盘跟目录 mysqldump -h127.0.0.1 -uroot -ppass myweb > d:/backupfile.sql 备份到当前目录

2016-08-08 23:47:10 322

原创 android与服务端websocket通讯示例

服务端库依赖详见章末spring websocket服务端代码(会话过程)public class HandshakeInterceptor extends HttpSessionHandshakeInterceptor { private static final Logger logger = LoggerFactory.getLogger(HandshakeInterceptor.cl

2016-08-08 23:43:30 3044

原创 java实现单例singleton的几种模式

Singleton的4种实现方式1.静态工厂实现法静态工场估计是最常用的单例实现方式,例子如下(详细见注解)// 静态工厂实现法public class CommonSingleton { // 此处声明为final,一旦类被加载就立即实例化,确保类只有一个实例,同时也确保了线程安全 // 注意:我们仍然可以通过反射再创建新的实例,且序列化反序列化时会有问题 /*序列化问题可

2016-08-08 23:37:15 1119

转载 Actor Model

Actor Model

2016-08-08 10:40:46 372

转载 线程模型

线程模型演进及reactor模型

2016-08-07 15:54:36 322

原创 使用spring容器管理和配置netty

使用spring容器管理和配置netty 为了使程序达到方便配置和管理,spring的ioc容器是特效药之一。本文将使用ioc来管理和配置netty服务器服务端使用Reactor多线程模型,详见 李林锋老师的博文 Netty系列之Netty高性能之道 在本程序中Reactor Thread Acceptor对应BossGroup,Reactor Thread P

2016-08-07 15:20:19 12365 7

原创 beego框架 sql: unknown driver "mysql" (forgotten import?)

在使用beego框架接入mysql时需要在main.go中引入自己使用的mysql驱动 "github.com/go-sql-driver/mysql" // import your used driver否则会报sql: unknown driver "mysql" (forgotten import?)

2015-11-12 17:30:12 4052

原创 jedis高版本的JedisPoolConfig没有maxActive和maxWait

jedis包括2.4.1,2.5.1等高版本的JedisPoolConfig没有maxActive属性,不能按照网上那些方式去配置redis了,网上大部分搜索出来的redis配置都是基于旧版本的jedis,在jedis新版本,JedisPoolConfig没有maxActive属性,JedisPoolConfig没有maxWait属性,以及被替换成其他的命名。通过查找可知高版本的jedis使用

2015-10-22 17:54:44 4926 1

转载 MMORPG服务器架构

MMORPG服务器架构一.摘要1.网络游戏MMORPG整体服务器框架,包括早期,中期,当前的一些主流架构2.网络游戏网络层,包括网络协议,IO模型,网络框架,消息编码等。3.网络游戏的场景管理,AI,脚本的应用等。4.开源的网络服务器引擎5.参考书籍,博客二.关键词网络协议 网络IO 消息 广播 同步 CS TCP/UDP IP 集群 负载均衡

2015-10-10 18:00:29 395

原创 ssh插入信息报异常!don't flush the Session after an exception occurs

HTTP Status 500 - null id in com.news.entity.News entry (don’t flush the Session after an exception occurs)type Exception reportmessage null id in com.news.entity.News entry (don’t flush the Session af

2015-10-06 02:34:34 565

转载 Hibernate各种主键生成策略与配置详解

1、assigned主键由外部程序负责生成,在 save() 之前必须指定一个。Hibernate不负责维护主键生成。与Hibernate和底层数据库都无关,可以跨数据库。在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免。generator class="assigned" />“ud”是自定义的

2015-10-06 01:35:23 315

转载 iOS的UDID废用以及UUID配合keychain的替换方案实现

首先,简单介绍一下UDID这个东西:UDID是Unique Device Identifier的简称,也就是唯一设备标识的意思。于iOS SDK中取得的方法是UIDevice的一个叫uniqueIdentifier的NSString*,由于这个ID字符串是基于设备的,应用开发人员可以通过获取此ID来用于记录区分设备。正是由于这个特性,可能会导致一些隐私等等相关的问题,Apple于iOS5中

2015-10-05 17:15:05 747

转载 Java数据类型和MySql数据类型对应表

java mysql 数据类型对照类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述      VARCHARL+NVARCHARjava.lang.String12 CHARN

2015-10-02 16:02:53 308

转载 git提交代码至远程仓库

代码提交代码提交一般有五个步骤:1.查看目前代码的修改状态2.查看代码修改内容3.暂存需要提交的文件4.提交已暂存的文件5.同步到服务器1.     查看目前代码的修改状态提交代码之前,首先应该检查目前所做的修改,运行git status命令a)        已暂存 (changes to be committed) new fil

2015-09-30 00:12:31 735

转载 HashMap vs. TreeMap vs. Hashtable vs. LinkedHashMap

本文由 ImportNew - 唐小娟 翻译自 Programcreek。欢迎加入翻译小组。转载请见文末要求。Map是最重要的数据结构。这篇文章中,我会带你们看看HashMap, TreeMap, HashTable和LinkedHashMap的区别。1. Map概览Java SE中有四种常见的Map实现——HashMap, TreeMap, Hashtable和Lin

2015-09-29 14:14:01 663

转载 HashMap的工作原理

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入

2015-09-29 10:40:59 451 1

原创 struts2与spring MVC工作流程图

spring MVC工作流程图struts2工作流程图

2015-09-29 10:18:57 897

转载 最详细的Log4j使用教程

日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包。一、入门实例1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最终目录如下2、src同级创建并设置log4j.proper

2015-09-28 16:23:45 433

转载 为你的Android App实现自签名的 SSL 证书

阅读目录HTTPS是什么?SSL/TLS:SSL/HTTPS and X.509 证书概述TLS (SSL)中的加密MITM 攻击什么是自签名证书( self-signed certicates)在使用自己签署的证书时一般性的错误证书锁定实现的步骤第1步: 创建自签名证书和.bks 文件第2步第3步介绍网络安全已成为大家最关心的问题. 如果你利用服务器存储客

2015-09-24 18:23:14 964

转载 有效选择七个关于Java的JSON开源类库

April 4, 2014 By Constantin Marian Alin翻译:无若 (英语原文:http://www.developer.com/lang/jscript/top-7-open-source-json-binding-providers-available-today.html) 简介JSON是JavaScript Object Notatio

2015-09-23 15:16:34 609

转载 Spring的事务 之 9.4 声明式事务 ——跟我学spring3

9.4  声明式事务9.4.1  声明式事务概述       从上节编程式实现事务管理可以深刻体会到编程式事务的痛苦,即使通过代理配置方式也是不小的工作量。       本节将介绍声明式事务支持,使用该方式后最大的获益是简单,事务管理不再是令人痛苦的,而且此方式属于无侵入式,对业务逻辑实现无影响。       接下来先来看看声明式事务如何实现吧。9.4.2 

2015-09-21 15:58:17 444

实时碰撞检测算法技术

本书详细阐述了与碰撞检测问题相关的高效解决方案及相应的数据结构和算法,主要包括:碰撞检测系统中的设计问题、数学和几何学入门、包围体、基本图元测试、层次包围体技术、空间划分、BSP树层次结构、凸体算法、基于GPU的碰撞检测、数值健壮性、几何健壮性以及优化操作。另外, 本书还提供了相应的算法、代码以及伪代码,以帮助读者进一步理解计算方案的实现过程。

2014-10-28

Apache24服务器

64位的Apache服务器,其中已经配置好了tomcat的集成。

2014-10-06

debug.exe 64位

64位的debug.exe,在win7/8下汇编实现debug功能,配合DOSBox使用。

2014-10-06

phonegap-2.9.0

一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,...

2014-10-06

OpenGL Developement Cookbook

OpenGL is the leading cross-language, multi-platform API used by masses of modern games and applications in a vast array of different sectors. Developing graphics with OpenGL lets you harness the increasing power of GPUs and really take your visuals to the next level. OpenGL Development Cookbook is your guide to graphical programming techniques to implement 3D mesh formats and ...

2014-10-01

OpenGL编程指南

《Open GL编程指南 原书第7版 》对OpenGL以及OpenGL实用函数库进行了全面而又权威的介绍 素有“OpenGL红宝书”之誉 《Open GL编程指南 原书第7版 》的上一个版本覆盖了到OpenGL 2 1版的内容 本版涵盖了OpenGL 3 0和3 1的最新特性 《Open GL编程指南 原书第7版 》以清晰的语言描述了OpenGL的功能以及许多基本的计算机图形技巧 例如创建和渲染3D模型 从不同的透视角度观察物体 使用着色 光照和纹理贴图使场景更加逼真等 另外 《Open GL编程指南 原书第7版 》还深入探讨了许多高级技巧 包括纹理贴图 抗锯齿 雾和大气效果 NURBS 图像处理子集等 此外 《Open GL编程指南 原书第7版 》还对一些重要的主题进行了讨论 例如提高性能 OpenGL扩展以及跨平台技术等 《Open GL编程指南 原书第7版 》内容详实 讲解生动 图文并茂 是OpenGL程序员的绝佳编程指南 ">《Open GL编程指南 原书第7版 》对OpenGL以及OpenGL实用函数库进行了全面而又权威的介绍 素有“OpenGL红宝书”之誉 《Open GL编程指南 原书第7版 》的上一个版本覆盖了到OpenGL 2 1版的内容 本版涵盖了OpenGL 3 0和3 1的最新特性 《Op [更多]

2014-10-01

iOS黑客手册

iOS是苹果iPad和iPhone的操作系统,这本书详细介绍了iOS操作系统的安全架构和安全风险,以及如何发现漏洞和利用这些漏洞。同时详细说明了如何开发iOS越狱工具,以及iOS应用的加密、代码签名及内存保护、沙盒动作机制等。

2014-09-28

卡雷尔机器人学Java 英文版

这本书适合初学者,是本不错的编程入门书。虽然是用Java,但是,既是是学其他语言,也可以看下。如果你是有经验的程序员,就不用浪费时间了。 关于面向对象 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&">这本书适合初学者,是本不错的编程入门书。虽然是用Java,但是,既是是学其他语言,也可以看下。如果你是有经验的程序员,就不用浪费时间了。 关于面向对象 <<<<<<<<<<<<<<<<<<<<< [更多]

2014-09-28

ACM常用数学知识

acm中经常用到的数学方法和公式,其中包括了费马点,四点求球的半径和球心等。

2014-09-28

Making_Things_Happen

In the updated edition of this critically acclaimed and bestselling book Microsoft project veteran Scott Berkun offers a collection of essays on field tested philosophies and strategies for defining leading and managing projects Each essay distills complex concepts and challenges into practical nuggets of useful advice and the new edition now adds more value for leaders an ">In the updated edition of this critically acclaimed and bestselling book Microsoft project veteran Scott Berkun offers a collection of essays on field tested philosophies and strategies for defining leading and managing projects Each essay distills complex concepts and challenges into practical [更多]

2014-08-23

Android游戏开发大全10-11章

《android游戏开发大全》以android手机游戏的开发为主题 结合真实的游戏案例向读者详细介绍了android平台下游戏开发的整个流程 同时在游戏开发的介绍过程中还分享了作者多年积累的开发技巧与经验 《android游戏开发大全》分为两篇 共19章 第1篇 第1 11章 以简单易懂的实例为依托 详细介绍了android的前台渲染技术 常用界面布局 网络开发 sqlite数据库的存取 传感器应用的开发 游戏中经常使用的人工智能算法 流行的物理引擎box2d以及opengl es 3d开发的相关知识 第2篇 第12 19章 详细介绍了8个真实的游戏案例 涵盖了手机游戏中的8个不同种类 包括体育类 益智类 滚屏动作类 棋牌类 物理传感器类 塔防类 物理引擎类以及策略类游戏 每一个游戏都是按照实际的开发步骤进行介绍 并逐步地将android手机游戏的整个开发过程展现在读者面前 同时在源代码中还包含了详细的注释 以尽量帮助读者掌握代码中的每一个细节 另外 第2篇中所有的案例项目都配有讲解视频 以帮助读者快速理解并得到提升 《android游戏开发大全》的讲述由浅入深 从游戏开发的基础知识到开发大型游戏 结构清晰 语言简洁 非常适合android游戏初学者和android游戏进阶开发者阅读参考 ">《android游戏开发大全》以android手机游戏的开发为主题 结合真实的游戏案例向读者详细介绍了android平台下游戏开发的整个流程 同时在游戏开发的介绍过程中还分享了作者多年积累的开发技巧与经验 《android游戏开发大全》 [更多]

2014-08-23

空空如也

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

TA关注的人

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