自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 volatile语义理解

java内存模型中的volatile关键字保证:保证多线程共享变量的可见性,但是不能保证原子性 synchronized 关键字保证了操作的原子性,可见性,但是不能保证指令重拍 volatile关键字保证了指令的重排序,java内存模型要求对volatile变量的写操作先与volatile变量的读操作看代码package com.bootdo.testDemo.rpc;imp...

2018-10-17 21:32:28 162

原创 Fork/Join 简单框架

以下为一个见到的java中的并发框架例子:采用的fork/join 机制,采用分治的思想来求1-12000的和代码如下: package com.bootdo.testDemo.rpc;import java.util.concurrent.ExecutionException;import java.util.concurrent.ForkJoinPool;import j...

2018-10-17 17:12:03 110

翻译 RPC简单的demo

编写rpc服务端代码如下:package com.bootdo.testDemo.rpc;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.OutputStream;import java.lang.reflect.Method;import java.lang.re...

2018-10-17 14:23:11 309

原创 自定义类加载器

实现一个自定义类加载器来加载指定目录上的类package com.bootdo.springBoot.classloader;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.IOException;import java.lang.reflect.Invocatio...

2018-10-16 10:30:01 491

原创 排序算法java实现

典型的排序算法有:基础版:冒泡排序,简单选择排序,插入排序,归并排序升级版:堆排序,希尔排序,快排,归并排序,还有一些桶排序,计数排序等,这里没有实现java代码实现如下:package org.cn.sort;import java.util.ArrayList;import java.util.Arrays;import java.util.List;...

2018-10-08 22:07:06 91

原创 websocket简单通信

使用websocket可以实现客户端到服务器的全双工通信,底层还是tcp协议。原理概念请百度。、。首先我们使用idea搭建一个简单的web项目,使用maven管理项目的依赖。为项目添加spring springmvn支持能力,添加pom依赖如下: <dependency> <groupId>javax.websocket</groupId&gt...

2018-10-08 21:55:52 242

原创 redis操作基本命令

get namedel name //删除键 decr agedecrby age 5 //使age-5mset key1 HongWan1 key2 HongWan2 //一次设置多个值setex name 10 liurong //设置name=刘荣,并且过期时间是10秒setrange name 8 gmail.com ...

2018-09-28 10:03:39 98

原创 DFS实现N皇后问题

给定一个N x N 的空格子 。。。。。对于n皇后问题是什么问题请自行百度。。。话不多说,见代码最终是用一个List来保存n皇后的输出图像 #输入为n,输出为合法的n皇后表格图像 public List<List<String>> solveNQueens(int n) { List<List<String&gt...

2018-09-05 22:15:10 295

原创 责任链模式

#开始不知道一个链上的那个对象去处理,话不多说,大致的代码如下。interface IHander{ void operator();}abstract class AbstractHandler implements IHander{ private IHander iHander; public IHander getIHander(){ ...

2018-09-05 16:11:41 96

原创 观察者设计模式

 #观察者设计模式实现对某一个事物的观察,当东西发生变化的时候,在调用自身的方法interface Observer{ public void update();}class Observer1 implements Observer{ @Override public void update(){ System.out.println("ob...

2018-09-05 15:55:04 85

原创 模板设计模式

#模板设计模式,主类定义一个主方法实现对其他方法的调用,具体的方法实现由子类去实现。interface IStrategy{ public int split(String string);}abstract class AbstractStrategy implements IStrategy{ //主方法实现对其他方法的调用 public int cacu...

2018-09-05 15:46:37 91

原创 策略设计模式

#策略设计模式,就是对同一个算法进行不同的封装,由客户端采用选取不同的策略abstract class AbstractStrategy implements IStrategy{ public int[] split(String reg,String splot){ String[] strings=reg.split(splot); int[] ...

2018-09-05 15:20:37 133

原创 享元设计模式

#享元设计模式 适用于连接池技术,可以提高程序的运行效率public class PoolConnection{ private static final String USER="root"; private static final String PASSROWD="XXXX"; private static final String URL="XXX"; ...

2018-09-05 15:03:18 87

原创 桥接模式

#桥接模式interface interface2{ void method();}class Source1 implements interface2{ @Override public void method(){ // }}class Source2 implements interface2{ @Override...

2018-09-05 15:02:29 84

原创 外观模式

#外观模式将所有的类关系都统一到一个类的实现当中,就像spring中使用xml文件管理所有类的实现关系一样class CPU{ public void startUp(){ System.out.println("CPU startUp"); } public void shutDown(){ System.out.println("C...

2018-09-04 22:42:27 77

原创 代理设计模式

#代理设计模式,使用代理类来调用真实的主题interface SourceAble{ void method1();}class Source implements SourceAble{ @Override public void method1(){ // }}class Proxy implements SourceAble...

2018-09-04 22:35:01 94

原创 装饰模式

#当需要为一个类的新方法添加新的功能的时候就采用装饰模式 interface SourceAble{ void method1();}class Source implements SourceAble{ @Override public void method1(){ // }}class Decorator impleme...

2018-09-04 22:28:26 94

原创 适配器模式

 #是配置模式有三种,分别为类的适配器模式,接口的适配器模式,还有对象适配器模式#当希望把类转换成满足另一个实现的新接口的类的时候使用class Source{ public void method1(){ System.out.println("source's method1"); }}interface Target { public ...

2018-09-04 22:22:38 74

原创 原型设计模式

#注意这里的区别实现深复制,浅复制的方式和区别,同时还可以通过对象序列化的方式实现深复制class Protype implements Cloneable{ private int age; private String name; public Protype(String name,int age){ this.name=name; ...

2018-09-04 21:53:32 75

原创 构造器模式

/***当我们要创建的一个对象需要很多的属性的时候,不需要设置过多的构造函数,建造者模式将发挥作用*/class Builder{ static class Student{ String name="liurong"; int age; String address="china"; int score=90;...

2018-09-04 21:37:31 255

原创 单例模式

#线程安全的单例模式,还有一些延迟初始化等class Singleton{ private Singleton(){} private static class SingletonBuilder{ public static Singleton singleton=new Singleton(); } private static ...

2018-09-04 21:25:03 103

原创 抽象工厂模式

class Basic{}class A extends Basic{}class B extends Basic{}class C extends Basic{}class BeanFactory{ public A getA(){ return new A(); } public B getB(){ return new ...

2018-09-04 21:21:12 94

原创 LRU缓存的代码实现

#基本实现是用一个双向链表来保存节点,同时使用Hashtable来保存每个节点的映射关系 import java.util.*;class LRUCache {           class DListNode{        int value;        int key;        DListNode pre;        DListNode post;  ...

2018-09-04 19:33:23 159

原创 工厂设计模式

#最简单的工厂设计模式class Basic{}class A extends Basic{}class B extends Basic{}class C extends Basic{}class BeanFactory{ public A getA(){ return new A(); } public B getB(){...

2018-09-04 19:27:30 60

原创 redis基础操作

 get namedel name          //删除键 decr agedecrby age 5   //使age-5mset key1 HongWan1 key2 HongWan2   //一次设置多个值setex  name 10 liurong            //设置name=刘荣,并且过期时间是10秒setrange name 8 gmail.com    ...

2018-09-02 11:18:11 82

原创 git操作指南

git config --global user.name "liurong"git config --global user.adress "[email protected]" //添加全局变量,用户名和密码git config --list //查看全局变量的信息git init         //进入要创建代码仓库的目录,就会生成.git 隐藏文件git init --b...

2018-08-29 15:23:32 91

原创 矩阵的最大面积(单调栈)

求图片中矩形最大的面积,类似于桶的容量由最短的木板决定的,见图片。   矩形的高度可以用数组表示,同时这个场景可以和另外一个场景联系起来:给定一个二维矩阵,矩阵中的元素只有0和1,求一个最大的子矩阵(要求子矩阵中的元素全是1) ,最大指的是矩阵中的1的数量最多。下图中的矩阵 a 只包含1和0:[1, 1, 1, 1, 1, 1, 1, 1][1, 1, 1, 1, 1, 1, 1, 0][1, 1...

2018-05-10 21:42:54 1546 2

原创 弗洛伊德算法实现求图中任意两个节点的距离

太多的理论概念没有太多的意思,学习一种算法最后要变成自己的理解,复杂的技术简单化,图论算法有很多,包括图的广度优先,深度优先,图的最小生成树,迪杰斯特拉算法等,这里的弗洛伊德算法可以求图中任意两个节点的最小距离,同时还要求两个节点之间最小距离经过的路径,怎么实现的呢?代码如下:public class FuloyideDemo { private int MAX=Integer.MAX_VAL...

2018-05-07 18:04:43 2080

原创 Dijkstra(迪杰斯特拉算法)的java实现

这个算法是图论算法的一种,可以实现求图中任意两个节点之间的最短距离话不多说,直接上代码:package my.demo.main;import java.util.Arrays;import java.util.HashSet;import java.util.Map;import java.util.Scanner;import java.util.Set;//迪杰斯特拉算法求...

2018-04-29 16:17:36 1221

原创 java实现简单链表

java实现基本链表的功能.

2017-07-17 20:53:37 241

javaEE人员管理系统

基于mysql的数据库开发的javaEE 人员管理系统。使用了sping,mybatis框架,功能完整,简洁。

2017-07-16

空空如也

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

TA关注的人

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