- 博客(52)
- 资源 (4)
- 收藏
- 关注
原创 插入排序算法
#include <stdio.h>void print_array(int * arr, int size){ int i; printf("\n==========start===========\n"); for(i = 0; i < size; i++) { printf("%d ", arr[i]); } printf("\n===========end============\n");}void inser..
2021-04-24 22:05:08
208
原创 springboot websocket 无法自动注入问题处理
websoket 由于是多对象无法通过属性自动注入,解决方案:声明static类型的(需要注入的)属性 通过set方发进行注入代码如下@Controller@ServerEndpoint(value = "/websocket")public class WebSocketController { private static SocketMessageHandler socketMessageHandler; @Autowired public void se
2021-04-23 16:44:47
856
转载 Hibernate-validator校验框架
1. 前言Validator开发者使用手册,适用后台校验功能的开发参考。文档中提到的功能,都是经过严谨测试验证过的,保证可用,请开发人员放心设计和开发。1.1. 背景在我们日常后台的开发中,涉及到很多的字段验证,一般普通的验证框架就基本上可以满足日常的开发需求,但有一些情况,这些普通的验证框架无法达到要求,例如,现在有一个Segment类,里面有一个属性deptCi
2017-08-15 11:20:22
1064
原创 归并排序
/** * 归并排序算法:将需要排序的数组分成小数组进行归并排序 * Created by hasee on 2017/6/8. */public class Test { public static void main(String[] args) { int[] a = {2,1,4,3,6,8,7,9,10,13,12}; mergeSort
2017-06-28 12:29:41
290
原创 选择排序
/** * 选择排序算法: * 在数组中选出最小(大)的一个元素并与第一个元素交换,然后找出第二小的元素与第二个元素交换…… * Created by hasee on 2017/6/27. */public class SelectSort { public static void main(String[] args) { doSort(2,1,5,3,6,
2017-06-27 16:05:51
290
原创 插入排序2
/** * 插入排序的递归实现: * 使用递归的方法代替循环遍历 * Created by hasee on 2017/6/8. */public class InsertSort2 { public static void doSort(int[] a){ if(a.length>2){ doSort(Arrays.copyOf(a,a
2017-06-27 16:04:50
267
原创 插入排序1
/** * 插入排序算法: * 将数组中下一个元素插入到已排好的数组中的合适的位置,当所有的元素均插入时完成排序 * Created by hasee on 2017/6/26. */public class InsertSort { public static void doSort(int... arr){ for(int i=1;i<arr.length;i
2017-06-27 16:03:20
288
转载 深入理解Java类加载器(ClassLoader)
【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.youkuaiyun.com/javazejian/article/details/73413292出自【zejian的博客】关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理
2017-06-26 17:15:27
689
原创 String类1
public class Test01 { public static void main(String[] args) { //串池中创建 Hello String s1 = "Hello"; //串池中找到 Hello 并引用 String s2 = "Hello"; //堆内存中创建 Hello
2017-06-13 21:15:36
261
原创 泛型 -- 泛型方法
/** * 泛型方法 -- 泛型方法可以定义在普通类中,也可以定义在泛型类中 * 定义泛型方法时泛型变量放在修饰符后,返回值前 */public class ArrayAlg { public static T getMiddle(T... a){ return a[a.length / 2]; }}public class Tes
2017-06-12 20:51:26
259
原创 泛型 -- 泛型类
/** * 简单的泛型类定义: * 类名后加(E表示集合的元素类型,K,V分别表示key和value,T(U,S)表示任意类型) */public class Pair { private T first; private T second; public Pair() { first = null; second = n
2017-06-12 20:37:47
385
原创 生产范围内的随机数
/** * 产生范围内的随机整数数 * 带种子时每次产生的随机数相同 */public class RandomInt { public static void main(String[] args) { RandomInt.showList(RandomInt.getIntRandom(10,5,15)); System.out
2017-06-08 17:11:09
290
原创 外观设计模式1
/** * 外观模式 -- 将多个相互依赖的类的依赖关系放在一个类中 * 避免类相互持有,实现松耦合 */public class Computer { private CPU cpu; private Memory memory; private Disk disk; public Computer() { this.cpu = new
2017-06-07 21:42:57
217
原创 装饰设计模式1
/** * 装饰设计模式 * 为一个对象动态的添加一些功能 * 原类和装饰类共同实现一个接口,装饰类持有类的对象, * 并在实现接口方法时调用该对象对该接口的实现方法,同时添加新的功能 */public class Decorator implements Sourceable { private User user; public Decorator(User u
2017-06-06 16:43:20
237
原创 适配器模式3
/** * 适配器模式 -- 接口的适配器模式 * 当不希望实现某个接口的所有方法时使用接口的适配器模式 * 使用一个抽象类实现接口中的所有方法,在写其他类的时候继承改抽象类 * 同时重写需要的方法,从而避免实现所有的接口方法 */public abstract class Wrap implements Targetable { @Override public vo
2017-06-06 15:22:46
239
原创 适配器模式2
/** * 适配器模式 -- 对象的适配器模式 * 当希望将一个对象(source)转换为s满足一个接口(Targetable)的新对象(adapter)时, * 创建一个类(Adapter)实现接口,该类持有一个原对象(source), * 并在实现方法中调用实例source的方法 */public class Adapter implements Targetable {
2017-06-06 15:15:40
217
原创 适配器模式1
/** * 适配器模式 -- 类的适配器模式 * 当希望将一个类(Source)转换为满足一个接口(Targetable)的新的类(Adapter)时, * 新的类继承待适配的类并实现接口 */public class Adapter extends Source implements Targetable { @Override public void method02
2017-06-06 14:50:38
221
原创 对俩个有序数组合并排序
/** * 算法学习 -- 两个有序数组合并排序 */public class MergeArrayAndOrder { public static void main(String[] args) { int[] a = new int[]{1,3,5,7,9,16,17}; int[] b = new int[]{0,2,4,6,8,10,11,
2017-06-05 16:13:40
1773
原创 数组反转
一个数组的倒序/** * 算法 -- 反转数组 */public class ReverseArray { public static void main(String[] args) { int[] a = {3,2,1,6,5,4,9,8,7}; int[] b = reverse(a); for(int i=0;i<b.l
2017-06-05 11:11:21
248
原创 建造者模式
/** * 建造者模式是将多个产品集中起来进行管理 */public class Builder { private List list = new ArrayList(); public List getCircles(int n){ for(int i=0;i<n;i++){ Type circle = new Circle();
2017-06-05 10:28:01
195
原创 抽象工厂模式
/** * @version 0.1 */public interface Type { void show();}/** * @version 0.1 */public class Circle implements Type { @Override public void show() { System.out.println(
2017-06-03 11:06:01
233
原创 工厂方法模式
/** * @version 0.1 */public interface Type { void show();}/** * @version 0.1 */public class Circle implements Type { @Override public void show() { System.out.println(
2017-06-03 10:39:25
220
原创 用两个栈实现一个队列
/** * 用两个栈实现队列 * 入队时 offer():向栈1压栈 * 出队时 poll(): * 1 将栈1的元素全部出栈 * 2 将出栈的元素按出栈顺序压入栈2 * 3 栈2出栈(并作为返回值) * 4 将栈2的元素去全部出栈 * 5 按出栈顺序将元素压入栈1 * 空判断 emp
2017-06-02 16:53:29
186
原创 代理模式1
/** * 代理模式是用一个代理类对象代替原对象执行原来对象的方法 * 在执行过程中可以根据需要执行相关的其他代码 * @author * @version 0.1 */public interface Sourceable { void method();}/** * @author * @version 0.1 */public class Use
2017-06-02 12:18:27
168
原创 中介者模式
/** * 中介者模式是将相互作用的紧耦合的类通过中介者类管理俩个类的相互作用 * 对俩个本应相互依赖的类解耦合,从而达到松耦合的目的 * 本例中使用俩个相互作用的数类Link作为示例 * LinkA与LinkB的num属性在进行赋值的时候相互影响 * 若使用方法实现相互作用时,俩个类相互依赖, * 使用中介者设计模式如下例 * * 创建抽象的中介者类,处理相互作用的LinkA和
2017-06-01 22:44:55
185
原创 组合设计模式2
/** * 在某些情况下,数据呈树形,但是每个树节点节点的类型不一定相同 * 这种情况下可以构建抽象的父类让各节点的类型继承, * 再利用组合设计模式进行构造数据 * @author * @version 0.1 */abstract class MusicClass { public String name; public ArrayList list;
2017-06-01 21:46:35
193
原创 组合设计模式1
/** * 组合设计模式:组合设计模式主要是组装树状的数据, * 当数据拥有同类型的子节点时,可以使用组合设计模式对数据进行组装 * @author * @version 0.1 */public class TreeNode { private String name; private TreeNode parent; private List childr
2017-06-01 21:35:57
199
原创 直线上最多的点的个数
/** * 题目:给出一个二维平面上的n个点,求最多有多少个点在同一条直线上。 * 思路:求出直线表达式的三个系数a,b,c,将其余的点代入判断是否在此直线上 * 应该还有更好的算法,暂时没想到 * @author libin * @version 0.1 */public class Test01{ public static void main(String[] args
2017-05-31 21:36:06
716
原创 模板方法模式1
/** * @author * @version 0.1 * 模板设计模式 -- 时间消耗模板 * 使用该模板测试方法的运行时间 */public abstract class TimeExpendTemplate { //创建抽象方法,在子类中具体实现 public abstract void method(); /** * 创建执
2017-05-29 21:27:57
232
原创 单例模式1
1 饿汉式:/** * @author * @version 0.1 * 单例模式:饿汉式 -- 创建时进行实例化 * 1 私有化构造方法; * 2 创建私有实例(static) * 3 创建公共类方法(static)方法输出单例 */public class Singleton5 { //创建私有实例 pri
2017-05-29 20:34:17
244
原创 Java学习 - this的用法
1 this作为当前类的对象调用类中的方法示例:public class Student { private String name = "张三"; private Integer age = 21; public void prtName(){ System.out.println("name = " + name); } pu
2017-05-09 10:13:05
219
原创 数据库学习 - DDL相关命令
DDL之撤销与修改修正数据库:修正数据库的定义,主要是修正表的定义;修正基本表的定义Alter table tablename[add {colname datatype,...}] 增加新列[drop {完整性约束名}] 删除完整性约束[modify {colname datatype,...}] 修改列定义 示例:1 在学生表st
2017-04-13 17:16:57
591
原创 数据库学习 - update(批量更新)
数据更新update命令:用指定要求的值更新指定表中满足天剑的数据的指定列的值语法形式:Update 表名Set 列名 =表达式|(子查询)[[,列名= 表达式| (子查询)]...][where 条件表达式];示例:1 将所有教师工资上调10%原表数据: UPDATE teacherSET teacher_salary = teacher_sal
2017-04-13 17:12:36
847
原创 数据库学习 - delete(批量删除)
数据删除delete命令:删除满足指定条件的元祖Delete from 表名 [where条件表达式];如果where条件省略,则删除所有数据;示例:1 删除student_course表中所有数据DELETEFROM student_course;2 删除1120120005号学生所选的所有课程DELETEFROM student_courseWHERE
2017-04-13 16:47:59
6536
原创 数据库学习 - insert into(批量添加)
数据新增insert命令有两种形式1 单一数据新增:Inset into 表名 [(列名[,列名]...)]Values (值[,值]...);这种形式可以向数据库中插入一条数据,也可以利用这种形式在数据库中插入多条黄数据;Inset into 表名 [(列名[,列名]...)]Values (值[,值]...),(值[,值]...),(值[,值]...),(值[,值]..
2017-04-13 16:22:14
3021
原创 数据库学习 - select(多表联查)
多表联合查询多表联合查询可以通过连接运算实现,而连接运算又可以通过广义笛卡尔积后在进行选择运算来实现。 Select 多表联合查询语句Select 列名 [[,列名]...] from表名1,表名2,,... Where查询条件; 可以使用as为表或者字段(属性)取别名; Select 列名 [[,列名]...] from表名1 [as]别名1,表名
2017-04-13 15:12:19
97942
4
原创 数据库学习 - like(模糊查询)
模糊查询问题比如查询姓张的同学,查询张某某等这类型问题,在select语句中通过查询条件中加入运算符like来表示;含有like运算符的表达式列名 [not] like “字符串”(“[]”表示其中内容可省略)找出匹配给定字符串的字符串,其中给定的字符串中可以出现%,_等匹配符。匹配规则:“%”匹配0个或多个字符“_”匹配任意单个字符“\”转义字符,用于去掉一些特殊
2017-04-13 10:15:07
18427
原创 数据库学习 - order by(结果排序)
查询结果排序问题DBMS可以对查询结果进行排序,可以升序排列,也可以降序排列;Select语句中结果排序是通过增加order by子句来实现的; 语法形式:Order by 列名 [asc|desc] 加上子句后可使查询结果按照指定的顺序进行排列,若后面跟asc或者省略,则进行升序排列;若跟desc,则降序排列;“[]”表示其中的内容可以省略;“|”表示其隔开的
2017-04-13 09:40:20
7208
原创 数据库学习 - distinct(唯一查询)
关系模型不允许出现重复元祖。实际DBMS中却有可能出现重复的数据。在table中要求无重复数据是通过primary key或者unique来保证的,而在查询结果中要保证无重复数据则是通过distinct实现的。 示例:1 在选课表中查询成绩大于80分的学号;SELECT student_idFROM student_courseWHERE score > 80;
2017-04-12 21:24:20
7128
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人