
java
文章平均质量分 69
WhatAre_Words
这个作者很懒,什么都没留下…
展开
-
Java的克隆与C+的拷贝之间的区别
Java的克隆与C+的拷贝之间的区别有的人会误认两者是同样的东西,Java有深克隆、浅克隆,C+有深拷贝、浅拷贝,这里为大家详细介绍一下两者的区别。首先带着大家复习一下C+中深拷贝和浅拷贝的区别在对一个对象进行拷贝时,拷贝的结果仅仅是将这个对象的地址赋给拷贝对象,在对拷贝对象进行修改的时候,原对象也会做出相应的改变,这就是浅拷贝。为了拷贝能得到一个地址不一样的新的对象,需要重写拷贝构造函数,创建一个新的对象一一赋值再返回,这就是深拷贝。C+中可以通过重载运算符完成深拷贝,Java中没有运算符重载该原创 2021-01-01 23:01:09 · 386 阅读 · 0 评论 -
java实现的常用排序
在归并排序写过两遍之后再遇见还是毫无头绪,快速排序自己写或多或少还有丁点的问题情况下,还是决定写篇博客记录一下这些排序方法吧选择排序选择排序算是排序里面挺简单的一个了,顾名思义,选择排序就是依次选出数组中最小的一个放在最前面。举出一个简单的例子方便理解,代码中也会给出相应注释。例: 数组nums : 5,3,7,6,4;遍历第一遍最小的数下标为 1,于是nums[0]与nums[1]做交...原创 2020-04-24 16:07:28 · 179 阅读 · 0 评论 -
Java设计模式
一,设计原则1,找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。2,针对接口编程,而不是针对实现编程3,多用组合,少用继承4,为了交互对象之间的松耦合而努力5,类应该对扩展开放,对修改关闭(开放-关闭原则)6,要依赖抽象,不要依赖具体类(依赖倒置原则)指导方针(1)变量不可以持有具体类的引用(2)不要让类派生自具体类(3)不要覆盖基类中已实现的方法7,只和你的密友交谈 (最少知识原则)指导方针我们应该只调用属于以下范围的方法:(1)该对象本身(2原创 2021-01-01 17:15:22 · 255 阅读 · 0 评论 -
SSM项目常见依赖
单元测试Junit <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>数据库驱动 <dependency>原创 2020-09-03 22:45:32 · 146 阅读 · 0 评论 -
Java框架知识点总结第七篇——SpringMVC
一,什么是MVCMVC是模型(model),视图(view),控制器(controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向耦合。MVC不是一种设计模式,MVC是一种架构模式。Model:数据模型,提供要展示的数据,因此包含数据和行为。View:负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。Controller:接收用户请求,委托给模型进行处理,处理完毕后把返回的模型数据返回给视图,由视图原创 2020-09-01 16:26:04 · 220 阅读 · 0 评论 -
Java框架知识点总结第六篇——mybatis
一,mybatis中常见的问题1,实体类的属性名和数据库的名称不一致时(1)可以修改sql语句来使他们匹配select id as userId ,username as userName from user(2)也可以采用配置的方式来将实体类的属性名和数据库的名称一一匹配<resultMap id="?" type="?"> <id property="属性" column="列名"><resultMap>二,mybatis常用标签1,SqlMap原创 2020-08-18 11:29:30 · 127 阅读 · 0 评论 -
Java框架知识点总结第五篇——mybatis
一,mybatis的环境搭建第一步:创建maven工程并导入坐标第二步:创建实体类和dao的接口第三步:创建mybatis的主配置文件SqlMapConfig.xml第四步:创建映射配置文件IUserDao.xml注意事项创建IUserDao.xml和IUserDao.java时名称是为了和我们之前的知识保持一致,在mybatis中它把持久层的操作接口名称和映射文件也叫做:Mapper。所以IUserDao和IUserMapper是一样的。在idea中创建目录时它和包是不一样的,包在创建时,原创 2020-08-18 11:28:49 · 182 阅读 · 0 评论 -
Java框架知识点总结第四篇——spring
一,动态代理特点:字节码随用随创建,随用随加载作用:不修改源码的基础上对方法增强分类: 基于接口的动态代理 基于子类的动态代理1.1 基于接口的动态代理涉及的类:Proxy如何创建代理对象: 使用Proxy类中的newProxyInstance方法创建代理对象的要求:被代理类最少实现一个接口,如果没有则不能使用newProxyInstance方法的参数: ClassLoader:类加载器 它是用于加载代理对象字节码的,和被代理对象使用相同的类加载器。固定写原创 2020-07-08 21:45:21 · 169 阅读 · 0 评论 -
Java框架知识点总结第三篇——spring
一,spring中的新注解Configuration作用:指定当前类是一个配置类细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时,该注解可以不写ComponentScan 作用:用于通过注解指定spring在创建容器时要扫描的包 属性:value:它和basePackages的作用是一样的,都是用于指定创建容器时要扫描的包。 我们使用此注解就等同于在xml中配置了 <context:compon原创 2020-07-04 22:34:23 · 191 阅读 · 0 评论 -
Java框架知识点总结第二篇——spring
一,程序的耦合耦合:程序间的依赖关系耦合包括:(1)类之间的依赖(2)方法见的依赖解耦:降低程序间的耦合关系实际开发中:应该做到,编译器不依赖,运行时依赖解耦的思路:第一步:使用反射来创建对象,而避免使用new关键字第二步:通过读取配置文件来获取要创建的对象全限定类名二,beanfactorybeanfactory:一个创建bean对象的工厂bean:在计算机英语中,有可重用组件的含义javabean:用java语言编写的可重用组件。它就是用于创建service和dao对象的第原创 2020-07-03 22:07:59 · 306 阅读 · 0 评论 -
Java框架知识点总结第一篇——maven
一,依赖管理依赖管理就是maven工程对jar包的管理过程。传统web工程的jar包放在每个工程的项目中,而maven工程是通过jar包的坐标从jar包仓库(本地仓库)中得到jar包,若是本地仓库没有jar包,则本地仓库会从中央仓库中下载jar包。二,maven项目的标准目录结构src/main/java 核心代码部分src/main/resources 配置文件部分src/test/java 测试代码部分src/test/reso原创 2020-07-03 19:13:02 · 231 阅读 · 0 评论 -
Java基础知识点总结第五篇——线程
一,使用线程(1)实现runnable接口先创建一个runnable实例,然后从这个实例构造一个thread对象,再调用thread对象的start方法去启用。Runnable task1 = () ->{ try { …… }catch{}};Thread t1 = new Thread(task1)lt1.start();(2)继承thread类class MyThread extends Thread{ public void run() { task c原创 2020-06-29 17:09:39 · 209 阅读 · 0 评论 -
Java基础知识点总结第四篇——集合
一,集合集合中有两个基本接口:collection和map。1,常见集合Colleciton(1)setTreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN)。HashSet:基于哈希表实现,支持快速查找,但不支持有序性操作。并且失去了元素的插入顺序信息,也就是说使用 Iterator 遍历 HashSet 得到的结果是不确定的。LinkedHashS原创 2020-06-26 14:25:46 · 174 阅读 · 0 评论 -
Java基础知识点总结第三篇——泛型
一,泛型数组列表ArrayList是一个有类型参数的泛型类,为了指定数组列表保存的元素对象的类型,需要用一对尖括号将类名括起来追加到ArrayList后面。冷知识1,如果可以知道或能够估计出数组可能存储的元素数量,就可以在填充数组之前调用ensureCapacity方法:例:staff.ensureCapacity(100);另外还可以把初始容量传递给ArrayList构造器。例:ArrayList staff = new ArrayList<>(100);2,一旦能够确认数组列表原创 2020-06-26 12:42:44 · 257 阅读 · 0 评论 -
Java基础知识点总结第二篇
一,类和对象1,重载和重写的区别重载就是同样的一个方法能够根据输入数据的不同,做出不同的处理重写就是当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法。重载:发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同。重写:重写就是子类对父类方法的重新改造,外部样子不能改变,内部逻辑可以改变。二,继承1,继承继承可以基于已有的类创建新的类。继承已存在的类就是复用(继承)这些类的方法,而且可以增加一些新的方法和字段,原创 2020-06-20 13:25:16 · 200 阅读 · 0 评论 -
Java基础知识点总结第一篇
一,数据类型java中一共有8中基本类型,其中有4种整型(byte、short、int、long)、两种浮点类型(float、double)、1种字符类型char和1种用于表示真值的boolean类型。包装类型:基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。类型存储要求取值范围包装类型int4字节-2147483648~2147483647Integershort2字节-32768~32767Shortlong原创 2020-06-17 13:51:52 · 321 阅读 · 0 评论