- 博客(51)
- 资源 (1)
- 收藏
- 关注
原创 Java中对象拷贝方式有哪几种?
1.引用拷贝 Person p = new Person(); p.setAge(1); p.setName("jack"); p.setDog(new Dog("tom...")); Person p1 = p; System.err.println("p=" +p +",p1=...
2018-09-25 10:16:55
2835
Java 面试题
1.介绍下自己 2.介绍下在近两年的项目 3.抢购中如何避免超卖 4.结合当前抢购系统如何优化。 5.jvm内存模型 6.如何排查项目中cpu为占有率低但是项目假死接口慢现象 7.如何在spring容器启动完成调用一个方法。 8.说说jvm内存模型 9.哪个内存区域会发生栈溢出 10.哪个内存区域会发生堆溢出。 ...
2018-09-21 22:25:30
198
hadoop2.9全分布式安装
一.环境说明安装介质 :virtualbox centos6.8网络模式 NAT +host-only(双网卡模式公司内网无法使用简单的桥连接—因为ip自动获取会被占用)三台虚拟机 hostip节点h1192.168.56.11namenode resourcemanager secondarynamenodeh2192.168.5...
2018-09-10 20:41:37
316
Java中ReentrantLock的lock和unlock过程
NonfairSync锁是重入锁的一种非公平锁,是指尝试获取锁的线程,如果失败则进入AQS锁等待队列中。在ReentaintLock类会默认创建一个非公平锁。 * Creates an instance of {@code ReentrantLock}. * This is equivalent to using {@code ReentrantLock(false)...
2017-11-13 16:40:28
341
Spi扩展加载机制
一、概述 我们都知道 Java的SPI机制:(service provider interface ) 对于该机制的详情概述请自行百度。其实Spi简单的是提供给服务提供商的开发者使用和扩展的(其实是接口编程+策略模式+配置文件的一种方式)。 场景:假如一个一个jar包中的一个接口A 分别有三个A接口的实现:B、C、D,我们在其他地方使用到了接口A的实现的...
2017-10-31 23:26:11
2342
在linux环境安装mysql5.7
下载安装包mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 进入mysql安装目录解压安装包[root@c1 ~]# cd /usr/local/[root@c1 ~]# cd /usr/local/[root@c1 local]# tar -xzvf mysql-5.7.18-linux-glibc2.5-x86_64.tar....
2017-04-22 11:43:11
131
Java内存区域总结
Java内存区域总结一、Java内存模型 Java运行时数据区一般分为:程序计数器区、方法区、Java栈、Java本地栈、Java堆组成。1、程序计数器程序计数器是线程私有的一块较小的内存区域,用于保存当前线程执行字节码的行号指示器,线程的切换、异常都能正确的恢复到指定的要执行的字节码位置都是这个行号指示器的功能,这个区域是一个唯一一个没有抛出OutOfMemory...
2017-03-26 16:44:58
126
golang指针内容复制
golang指针内容复制在go语言中比如一个指定内容复制到另外一个指针的内容中,这个与C/C++相同非常简单,不需要多做解释。下面看例子package mainimport "fmt"type Student struct { Name string}func main() { var s *Student = new(Stud...
2016-11-16 16:46:14
3960
java NIO套接字编程
java NIO套接字编程 在java的套接字编程中,大部分一般使用阻塞IO套接字编程。套接字的读取和写入会阻塞(也就是说不管现在有没有写入/读出数据 调用read和write方法将会阻塞)。而NIO将I/O事件注册,当特定的注册I/O事件到达时会通知您。不需要轮询,也不需要创建大量的线程下面一个例子:package simple.socket;import java...
2016-10-12 17:06:27
127
身份证号码正则截取生日golang和java实现
身份证号码正则截取生日golang和java实现身份证分为一代身份证和二代身份证,一代身份证为15位、二代身份证为18位。举例一代身份证:130503670401001二代身份证:41140219891216321 一代身份证正则截取:^(\d{6})(\d{6})(.*)$二代身份证正则截取: ^(\d{6})(\d{8})(.*)$ 下面分别设java和...
2016-06-20 11:08:55
1085
1
原创 数据结构与算法-队列
数据结构与算法-队列一、概述 队列也是一种表,是一种先进先出、从队头删除、从队尾删除的一种数据结构。队列这种数据结构在实际的项目中用的也是比较多,比如消息中间件 消息队列等。队列的插入我们称为入队操作。从队列中移除我们称为出队操作。队列和栈一样每个操作都是O(1) 队列的基本操作有: 1、初始化队列...
2016-06-07 20:23:24
149
原创 数据结构与算法-栈
数据结构与算法-栈 栈就是先进后出、后进先出的数据结构,也是一种表。在实际的项目中我们也经常碰到这种栈的算法,比如java中方法的调用,利用栈的先进后出、后进先出的特性。为每个调用的线程创建一个方法栈,执行一个方法我们称为栈帧,方法的调用顺序也就是依次将栈帧压入方法栈。当方法执行完毕也就是一个弹出栈操作能够正确的返回到指定的地址。 栈的操作一般...
2016-06-06 22:57:36
123
原创 数据结构与算法-表
数据结构与算法-表 我们将处理一般的型为:A1、A2、A3....AN的表,这个表的大小为N,不包含有任何一个元素大小为0的我们称为空表。 我们称为An+1为An的后继、 An-1为An的前驱。表的实现为简单的数组和链表两种。 一、简单数组 简单的数组我们需要给定的最大大小并且各个元素相间内存空间是连续的。数组在操作中:查找需要消耗O(1),但是在插入和...
2016-06-05 12:50:19
193
springmvc全注解配置
springmvc全注解配置<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <display-name>Arche...
2016-04-19 19:30:41
152
golang 一致哈希
golang 实现一致哈希package consistenthashimport ( "hash/crc32" "sort" "strconv")type Hash func(data []byte) uint32type Map struct { hash Hash replication int keys ...
2016-04-06 23:17:21
225
使用go 对session的支持
使用go 对session的支持Skip to contentThis repositorySearchPull requestsIssuesGist @dongtian3240 Unwatch 1 Star 0 Fork 0 dongtian3240/gosession Code Issues 0 Pull requests 0 Wiki ...
2016-03-28 16:04:34
456
golang 集成 sessions 使用注意事项
golang 集成 sessions 使用注意事项除go基本类型外,复杂对象结构存储,必须先注册比如我们使用如下$ go get github.com/tommy351/gin-sessionspackage routersimport ( "github.com/gin-gonic/gin" "github.com/tommy...
2016-02-21 11:24:53
559
golang Gin Web Framework安装
golang Gin Web Framework安装直接 go get github.com/gin-gonic/gin如果被墙了出现: package golang.org/x/net/context: unrecognized import path "golang.org/x/net/context"解决办法 :go get github.com/golang/ne...
2016-02-17 15:05:51
349
golang 静态文件资源服务器设置2
golang 静态文件资源服务器设置2package mainimport "net/http"import "io"import "os"import "log"type HttpHander struct{}type Mstring stringfunc main() { mux := http.NewServeMux() mux....
2016-01-27 20:33:15
671
golang web 静态资源路由设置
package staticimport( "fmt" "net/http" "os" "io/ioutil" "log")func Start() { fmt.Println("init...") http.HandleFunc("/static/",doExecute) http.ListenAndS
2016-01-27 15:18:06
1684
golang web初探
golang web部分初探package mainimport "fmt"import "log"import "net/http"import "time"type HttpHander struct {}var urlMapping map[string] func(http.ResponseWriter,*http.Request)f...
2016-01-26 11:11:43
129
golang数据类型
golang数据类型package variimport ( "fmt" "math")func Start() { testBool() testInt() testFloat() testComplex() testByte() testRune() testPointer() testString() testCons...
2016-01-24 17:43:42
100
golang并发编程测试代码收藏
package channelimport ( "fmt" "time" "sync")type People struct { Name string Id int Age int Sex string State bool}/**main函数调用此方法**/func Start() { go fm...
2016-01-20 15:15:45
176
原创 golang chan数据类型
golang chan数据类型golang数据类型有基本数据类型: int float long double string 也包含有 struct array map point类型,具体定义是如何使用的 package concurrentimport "fmt"//import "time"type People struct { N...
2016-01-18 13:33:01
1343
golang并发编程
package concurrentimport "fmt"import "math/rand"func SetCount( ch chan int,va int ) { fmt.Println("正在写入 ",va) ch <-va fmt.Println("写入完毕 ",va) }func Start() { var c...
2016-01-18 10:01:59
114
redis快速安装配置
Redis Quick StartThis is a quick start document that targets people without prior experience with Redis. Reading this document will help you:Download and compile Redis to start hacking.Use re...
2016-01-14 14:13:43
174
原创 golang标准api--bytes包练习
package byt import "fmt"import "bytes"func Start() { b1 :=[]byte("###冬天###") fmt.Println(string(bytes.Trim(b1,"#"))) fmt.Println("=====================") b2 := []byte("Google&quo
2016-01-13 11:58:40
170
原创 spring mvc+shiro +cas +spring-session 的通用权限管理系统
spring mvc+shiro +cas +spring-session 权限管理系统 本项目是自己在学习 shiro 和耶鲁大学的cas单点登录时候整理的,如果有什么错误问题请联系我的qq:466862016我会及时给你答复。先看下面截图: 本项目分为cas单点登录服务器端和sys权限系统管理端,请参照doc目录下的文档修改数据库连接、 配置http...
2015-12-18 15:24:16
524
Javascript 闭包全面解析
今天有人问了下有关javascript的闭包的问题,自己也没有看相关的文档,只是模糊的回答了下。回答完之后感觉那样对自己不好,一定要弄清javascript的闭包。正好在火狐开发者社区看到一篇有关闭包的文章https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures 一、什么是闭包? 闭包是指函...
2015-12-16 10:57:00
124
阿里巴巴的分布式应用框架-dubbo负载均衡策略--- 一致哈希算法
dubbo负载均衡策略一致哈希算法源码 dubbo是阿里巴巴公司开发的一个开源分布式应用框架,基于服务的发布者和订阅者,服务者启动服务向注册中心发布自己的服务;消费者(订阅者)启动服务器向注册中心订阅所需要的服务。注册中心将订阅的服务注册列表返回给订阅者。注册中心会感应服务的提供者的变化,如果服务的提供者发生变化,注册中心会立即通知消费者及时变更服务信息...
2015-12-07 16:38:55
144
原创 mysql-事务隔离级别
mysql-事务隔离级别事务的隔离级别比我们想象的还要复杂,在sql标准中一共定义了4中隔离级别,每一种都定义了事务所做的的修改,比如哪些事务内和事务间是可见的,哪些是不可以见的。下面是四种事务的隔离级别:1、读未提交(Read UnCommited) 在此事务内已经修改了数据,但是没有提交事务,对其他事务都是可见的,其他事务可以读取到刚才那个修改数据没...
2015-12-02 14:35:41
162
mysql-存储引擎
mysql-存储引擎mysql 存储引擎一般有 MyISAM、InnoDB、Memory、Merge、BDB、EXAMPLE、Federated 存储引擎。一、MyISAM存储引擎 不支持事务的存储引擎,它是基于更老的ISAM存储引擎,每个MyISAM 存储引擎类型的表在磁盘上存储3个文件:tablename.frm存储定义文件、tablename.MYD :存储表的数...
2015-12-02 11:39:51
107
原创 Java多线程-并发容器
Java多线程-并发容器 在Java1.5之后,通过几个并发容器类来改进同步容器类,同步容器类是通过将容器的状态串行访问,从而实现它们的线程安全的,这样做会消弱了并发性,当多个线程并发的竞争容器锁的时候,吞吐量会下降。那并发容器是为多线程并发而设计的。那么java1.5中添加了哪些并发容器? 1、ConCurrentHashMap 来替代同步的HashMap...
2015-11-30 14:34:12
242
原创 Java的 class文件结构
Java-class文件结构一、概述 我们都知道我们现在写的源代码计算机是不认识的,我们需要根据指定的编译器进行编译-连接-执行,这样才是我们想要的结果,所以计算机只能认识0或者1 ,那么如何与操作系统或者机器指令无关的程序能执行,那么在操作系统以及机器指令之上的那就是虚拟机了,这样我们编写的代码不再是最终形成二进制本地指令代码,而是一种在操作系统和机器指令之上的虚拟机规定...
2015-11-24 11:51:54
219
thrift 的简单实用案例
thrift 的简单实用案例 thrift是由facebook 开发的一套跨语言的rpc服务框架,在2007年捐献给Apache软件基金会,它结合了软件堆栈和强大的代码生成引擎。以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltal...
2015-11-23 16:08:58
1808
原创 Java多线程-自己动手写个线程池
package pool;public interface Request { public void execute();} package pool;public class HttpRequest implements Request { private String name; public HttpRequest...
2015-11-19 13:39:41
229
SpringMVC 日期参数转换报错问题最终解决方案
在用Springmvc的日期类型作为参数的时候,会碰到 org.springframework.beans.ConversionNotSupportedException: Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is ...
2015-10-19 10:15:57
1085
原创 java多线程之生产者与消费者模型2
java多线程之生产者与消费者模型2在java5中加入了并发包,里面有很多有关并发相关的工具类,其中Lock 就是实现提供比使用synchronized方法和代码块获得更加广泛的锁定操作。这样会有更加灵活的结构,可以具有差别很大的属性,可以支持多个Condition对象。那么什么是Condition是什么呢?Condition是将Object监视器方法 wait、notify、notify...
2015-07-25 14:10:02
212
java多线程之-生产者与消费者
java多线程之-并发协作【生产者与消费者】模型对于多线程程序来说,不管c/c++ java python 等任何编程语言,生产者与消费者模型都是最为经典的。也就是可以说多线程的并发协作 对于此模型说明1、生产者仅仅在仓库中未存贮满的时候生产,仓库满了就停止生产了。2、消费者仅仅在仓库中有存储的产品才能消费,如果仓库为空就等待。3、当消费者发现仓库中没有产品的时候回通知生产...
2015-07-24 17:19:43
232
原创 5、Java5多线程---同步辅助工具类CyclicBarrier
Java5多线程---同步辅助工具类CyclicBarrier一、概述CyclicBarrier是一个同步的辅助类,它允许一组线程互相等待,直到到达某个公告屏障点。在设计一组固定大小的线程的程序中,这些线程必须不时的相互等待,此时它很有用,因为该屏障在释放等待线程后可以重用,所以称它为循环的屏障下面看看对应的方法。1、public CyclicBarrier(int parties...
2015-06-16 16:13:01
148
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人