- 博客(25)
- 收藏
- 关注
原创 算法----插入排序InsertSort每一循环取一个元素插入到前面的有序数组中
public class InsertSort { public static int[] sort(int[] array){ int j; //从下标为1的元素开始选择合适的位置插入,因为下标为0的只有一个元素,默认是有序的 for(int i = 1 ; i < array.length ; i++){ //...
2019-08-30 21:33:58 138
原创 算法----选择排序ChoiceSort从无序的数组中找到最小的数放到有序数组的最后面
选择排序ChoiceSort每一次从带排序中选出一个最小的,放在已排序序列的后边public static int[] ChoiceSort(int[] array){ //需要进行多少轮比较 for (int i = 0; i < array.length - 1; i++) { int min = i; //从第i个后面开始比较,一直比较到最后找到最小的 f...
2019-08-30 21:13:08 281
原创 算法----递归(二分查找和汉诺塔)
二分查找(非递归):不用考虑数组长度是奇数还是偶数的问题 public int BinarySearchOne(int[] array, int target){ int low = 0; int high = array.length; //这里是while因为是非递归循环,所以要找完了才会跳出循环,里面用if做判断 while(low <= high){ in...
2019-08-30 21:12:55 127
原创 策略模式----这次一定要弄懂
先假设一个场景:某个市场人员接到单后的报价策略。报价策略很复杂,可以简单作如下分类:普通客户小批量报价普通客户大批量报价老客户小批量报价老客户大批量报价具体选用哪个报价策略,这需要根据实际情况来确定。这时候我们采用策略模式即可。采用不同的策略应付不同的模型。如果我们不采用策略模式,我们会怎么处理呐?写if else循环 public double getPrice(String ty...
2019-08-30 10:07:35 155
原创 UML类图基本画法
简单介绍一下UML常见的六种画法,包括类、接口、依赖关系、关联关系、聚合关系、合成关系贴一个综合图类 简要画法类有三个单元格的矩形(以上图中的动物类为例)第一格:类名称(如果是抽象类,类名标注为斜体字)第二格:雷属性名称第三格:类操作名称类属性或者操作的访问修饰符的标注:public用 + 标注private用 - 标注protected用 # 标注接口 简要画法接口有两...
2019-08-29 12:26:25 566
原创 Spring入门3----Spring的重重重点AOP
Spring 的核心概念—AOP,这也是 Spring 框架中最为核心的一个概念。它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。什么是切...
2019-08-28 18:52:14 114
原创 Spring入门2----DI的各种类型变量注入方法
Dependency Injection,依赖注入简单来说什么是依赖注入,就是给属性赋值(包括基本数据类型和引用数据类型)这里我们定义一个类,里面包含了我们常见的数据类型,顺便定了getter和setter里面包含常量String ,int double这种以及数组和集合另外就是其他的类的实例,这里给其他类的实例赋值public class Student { private St...
2019-08-28 15:11:11 183
原创 Spring入门1----IOC控制翻转
IoC(Inversion of Control,控制反转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,然后打听她们的兴趣爱好、qq号、电话号、ip号、iq号………,想办法认识她们,投其所好送其所要,然...
2019-08-27 21:55:41 109
原创 mybatis详解4----入门实例一对一
实际开发中,我们做项目不可能只是单表操作,往往会涉及到多张表之间的关联操作。那么我们如何用 mybatis 处理多表之间的关联操作呢?首先我们先说一对一的方式:什么是一对一?假设一个订单只能由一个用户创建,那么由订单到用户就是一对一的关系换个说法就是一个订单只能由一个用户创建,从订单表出发去用户表中找数据,一条订单表中的数据只能对应用户表中的一条数据!注意!这里我们没有说一个客户可以创建多个订...
2019-08-26 17:04:26 113
原创 mybatis详解2----入门实例
我们最开始引入mybatis的时候的步骤:1.先配置mybatis-configuration.xml文件,可以对里面的数据库连接信息进行参数化,利用自己定义的jdbc.properties文件进行参数的读取。2.定义返回查询数据的实体类,里面包含了getter和setter以及返回值toString的方法。3.编写对应的mapper.xml文件,里面注意mapper标签中的 namespa...
2019-08-25 21:58:06 559
原创 HashMap源码分析----需要记住的
Map接口是另外一个老祖先Hash表也称为散列表,也有直接译作哈希表,Hash表是一种根据关键字值(key - value)而直接进行访问的数据结构。也就是说它通过把关键码值映射到表中的一个位置来访问记录,以此来加快查找的速度。在链表、数组等数据结构中,查找某个关键字,通常要遍历整个数据结构,也就是O(N)的时间级,但是对于哈希表来说,只是O(1)的时间级。①、为什么要有散列函数?②、多个...
2019-08-22 15:24:06 116
原创 LinkedList源码分析----需要记住的
Collection老祖先,是一个接口,List和Set是众多子接口中最常用的两个。List子接口(有索引,存的是地址,如数组对象存的是数组的首地址,所以数据可以重复)ArrayList(使用比较多,因为一般都是存数据)、LinkedList、Vector实现类其实就是双向链表 LinkedList 有两个构造函数,第一个是默认的空的构造函数,第二个是将已有元素的集合Collection...
2019-08-22 10:34:51 79
原创 ArrayList源码分析----需要记住的
Collection老祖先,是一个接口,List和Set是众多子接口中最常用的两个。List子接口(有索引,存的是地址,如数组对象存的是数组的首地址,所以数据可以重复)ArrayList(使用比较多,因为一般都是存数据)、LinkedList、Vector实现类ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复。对于 ArrayList 集合添加元素,我们总结一...
2019-08-22 10:04:00 118
原创 常用的SQL语句汇总----从此不再纠结
最基本:增删改查数据库基本都是弱语法,所以英文大小写,空格自己稍微注意一下就好创建表格//最简单的建表creat table table_name;drop table table_name;//顺便创建表中的字段名称、属性和主键,注意要加括号creat table user_2019 (user_id int(8) PRIMARY_KEY,user_name varchar(1...
2019-08-16 17:29:05 256
原创 mybatis详解1----入门实例
mybatis说到底,两个jar包:mybatis,mysql-connector-java+两个配置文件,mybatis.xml和自定义的Mapper.xml这两个配置文件的名字可以自定义1.首先要创建数据库,做为查询的对象2.创建一个java工程,web,app都可以maven,ivy都可以,这里面以简单的app java项目+maven为例在pom.xml文件中添加:前两个是必须的,...
2019-08-12 15:19:59 125
原创 Java集合
Collection老祖先,是一个接口,List和Set是众多子接口中最常用的两个。Map接口是另外一个老祖先List子接口(有索引,存的是地址,如数组对象存的是数组的首地址,所以数据可以重复)ArrayList(使用比较多,因为一般都是存数据)、LinkedList、Vector实现类Set子接口(无索引,数据不能重复)HashSet(无序)、TreeSet(有序!注意!可不是添加顺序...
2019-08-10 18:49:03 100
原创 Java IO详解------字符输入输出流(通过包装流统计文件中指定字符串出现的个数等多个操作)
前面我们介绍了字节流,但是字节流有一个问题,如果需要打印或者在控制台显示文件中的内容,如果文件中还有中文,不同编码一个中文字符占用的字节数是不固定的,这就会造成输出乱码的情况,那么如何避免这种情况?这里就引入了字符流为什么要使用字符流? 因为使用字节流操作汉字或特殊符号语言的时候容易乱码,因为汉字不止一个字节,为了解决这个问题,建议使用字符流。什么情况下使用字符流? 一般可以用记事本打...
2019-08-09 11:07:11 256
原创 Java IO详解------字节输入输出流
一、如何用字节流读取文件read的几种参数写法public static void main(String[] args) throws IOException { //定义自己的文件路径 File file = new File("D:"+File.separator+"inputstream"+File.separator+"inputenglish.txt"); //创建一...
2019-08-09 09:49:53 118
原创 Properties和JDBCFactory联合应用连接数据库----顺便引出mybatis一
连接数据库为什么需要Properties和JDBCFactory,因为连接数据库是一个固定的模式,如果需要换一个数据库连接或者更新查询sql就需要重写代码,那就很麻烦。所以就需要配置文件和JDBCFactory来帮我们简化这些工作。 我们在配置文件中一般会存放jdbc.class,jdbc.url,jdbc.name,jdbc.pass,当然这几个是我自己定义的,第一个是启动类,一般都是com...
2019-08-08 10:24:37 236
原创 抽象工厂模式----这次一定要弄懂
介绍意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:主要解决接口选择的问题。何时使用:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。如何解决:在一个产品族里面,定义多个产品。关键代码:在一个工厂里聚合多个同类产品。应用实例:工作了,为了参加一些聚会,肯定有两套或多套衣服吧,比如说有商务装(成套,一系列具体产品)、时尚装(成套,一系列具体...
2019-08-07 11:26:20 492
原创 单例模式----这次一定要弄懂
单例模式是java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,由该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象(如new)。注意1.单例类只能有一个实例2.单例类必须自己创建自己的唯一实例3.单例类必须给所有其他对象提供这一实例介绍意...
2019-08-06 22:20:26 295
原创 工厂模式----这次一定要弄懂
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。...
2019-08-06 17:56:10 365
原创 Java多线程二线程安全synchronized和Semaphore
线程的基本状态及其转换跟进程的状态差不多,只是调度的单元从进程切换到线程blocked\waiting\timedwaiting都是阻塞状态线程类的常用方法sleep();精度取决于系统计时器的精度setPriority();设置线程优先级,取值范围1-10建议操作系统哪个线程优先级较高,但是不能100%确定高优先级就先运行或者先运行完成。//与start类似Thread t ...
2019-08-05 22:13:02 320
原创 JVM的垃圾回收机制
JVM为什么要进行垃圾回收?如果不进行垃圾回收,一些用过的变量就需要进行手工释放,这就很容易遗漏出问题,占用内存,影响效率,JVM的垃圾回收机制简化了回收垃圾的方法,让程序变得更简洁。思考问题:1.哪些“垃圾”需要回收?2.怎么回收?3.谁负责回收?4.什么时候回收?了解了这几个问题,java的垃圾回收也就基本差不多了1.哪些“垃圾”需要回收?我们都知道(其实我是刚刚知道)JVM的...
2019-08-05 16:48:30 143
原创 Java多线程一进程和线程以及线程的创建
一个进程包含多个线程进程的三个基本状态极其转换举个简单的例子,假设操作系统的CPU调度用的是经典的时间片轮转算法OS分配CPU给某个程序–>程序运行–>OS检测到时间用完后切走CPU–>OS分配CPU给另外程序我们首先运行一个包含输入和一个死循环的java文件,包含死循环是为了让程序一直运行方便理解,这就相当于运行一个简单的程序。当轮到该程序使用CPU的时候,此时该程序...
2019-08-03 23:21:15 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人