![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高级语言基础
A hut
这个作者很懒,什么都没留下…
展开
-
动态代理
动态代理代理一词在上一篇文章中已经介绍过了,这里主要体现的是动态在之前的静态代理中,我们可以看出有许多的缺点,在我们写好一个静态代理之后,如果后续想要做出更改,是比较麻烦的,并且需要修改代理的代码,或者新增代理类,而动态代理就解决了这个问题,让我们的代理不再麻烦,在JDK中就做了动态代理,这个就是在java.lang.reflect包下,我们说代理类需要有三要素,即一接口(抽象类),两个类...原创 2020-02-12 20:07:59 · 132 阅读 · 0 评论 -
静态代理
代理在我们写代码的时候,经常会遇到有关能不能访问,并且有时候会出现该方法功能不够的情况,这个时候使用代理无疑是最好的选择,所谓的代理就是原本实现具体功能的类,现在不许访问了,那么我们就需要借助中介类进行访问,而这个中介类就是一个代理类,为这个实际功能的类进行了代理,(比如:一个明星,在刚出道的时候没有什么人气,这个时候就像我们的代码没有代理一样,但是随着人气的积累,慢慢的业务多了之后,就需要...原创 2020-02-12 00:15:47 · 112 阅读 · 0 评论 -
mybatis之动态SQL
存在原因我们在数据库中查询的时候,写的是固定SQL,也就是每次查询都得写一条SQL,但是在程序中,很明显如果一个表中的字段过多,那么可以根据任意字段的组合进行查询更新等操作,这个代码量是特别巨大的,这个时候就出现了动态SQL解决这一问题,就是对于条件我们进行拼接,有条件则进行条件查询,如果没有该条件则不进行条件查询。 <select id="queryAuthor" resultTy...原创 2020-02-11 19:06:27 · 132 阅读 · 0 评论 -
mybatis之联合查询
联合查询联合查询的关键在于查出来的结果怎么获取到在之前的文章中都是对于单表进行的操作,那么查询的结果直接封装在一个单表对应的实体类中就可以了,我们就可以获取得到这些查询结果,但是如果两张表有关系,父子表的关系,那么这样简单的查询很明显不满足,比如,一个作者对应于他的博客文章,那么就是一对多的关系,而我们所说的这种对应关系有三种:一对一(特殊的一对多或者多对一)一对多/多对一(都可以看做是...原创 2020-02-08 18:41:07 · 221 阅读 · 0 评论 -
mybatis之CRUD
CRUD要进行crud操作,首先得有一张表,与之对应的应该有一个实体类,简单的做单表的CRUD,因此建立一个实体类package mybatis2020001.model;import java.io.Serializable;public class account implements Serializable{ /** * */ private static fi...原创 2020-02-05 18:39:42 · 102 阅读 · 0 评论 -
mybatis之环境搭建
mybatis介绍官方介绍(官方中文网站)MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录...原创 2020-02-05 18:26:33 · 90 阅读 · 0 评论 -
mybatis之环境配置
安达市多原创 2020-02-05 18:24:35 · 189 阅读 · 0 评论 -
log4j配置文件
日志进行控制台输出的配置文件log4j.rootLogger=debug,stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.SimpleLayoutlog4j.logger.com.ibatis=DEBUGlog4j.logge...原创 2020-02-05 17:51:07 · 108 阅读 · 0 评论 -
进程与多线程实现
进程:进程就是起运一段程序,将这段程序加载进入内存,并为其分配相关资源,是资源分配的最小 单位。线程:线程是比进程更小一级的单位,一个进程中可以有多个线程同时存在,并执行相关任务,是计算机最小的调度单元。线程和进程有何不同?线程是进程划分成的更小的运行单位。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,线程可以共享资源,因为同一进程中的线程极有可能会...原创 2019-10-25 23:27:06 · 109 阅读 · 0 评论 -
Java面试常问32
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?答:Java虚拟机是一个可以执行Java字节码的虚拟机进程,Java源文件被编译成能被Java虚拟机执行的字节码文件,因为Java被编译为字节码文件,由虚拟机解释执行,关于底层硬件平台的东西都由Java虚拟机掌握,真正的Java代码不需要知道,所以与其无关。Java接口中声明的变量默认是final的,抽象类可以包含非...原创 2019-10-25 23:12:16 · 111 阅读 · 0 评论 -
JAVA关键术语
Java白皮书中的一些关键术语:简单性面向对象分布式健壮性安全性体系结构中立可移植性解释性高性能多线程动态性这些关键都是摘自Java设计者所编写的白皮书,将对这些一一解释说明简单性Java的简单性表现在两个方面:对于Java出现以前,所使用的编程语言都相对复杂,如果不进行专门的训练很难进行编程,在Java之后,更加的面向人的思维,并且将很多复杂且使用频率不高的特...原创 2019-08-30 21:59:06 · 751 阅读 · 0 评论 -
Servlet生命周期
Servlet生命周期被定义为从创建到毁灭的全过程首先通过init()方法进行初始化,创建一个servlet实例,每一个用户请求都会产生一个新的线程,也就是创建servlet时调用,仅调用一次,在后续请求时不再调用,调用service进行执行操作,servlet容器(即web服务器)调用service方法来对客户端的请求进行具体操作,并将格式化的响应返回给客户端,这些操作都是父类的操,但是se...原创 2019-08-13 17:18:23 · 64 阅读 · 0 评论 -
MySQL入门05
防止注入攻击package myJDBC;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;import java.util.Scanner;/...原创 2019-06-17 10:40:49 · 93 阅读 · 0 评论 -
JAVA整理——04
1.11Java中clone方法有什么作用?Java在处理基本数据类型时,都是采用值传递的方式。传递的是参数的赋值(进行操作的不再是原来那个数据了,可以当做来了一个长得一模一样的数据),除此之外的其他类型都是引用传递,传递的是对象的一个引用,对象除了在函数调用时时引用传递,在使用“=”赋值时也采用引用传递。当有如下需求:从某个已有的对象A创建出另外一个与A具有相同状态的对象B,并且对B的修改不...原创 2019-06-04 16:26:36 · 86 阅读 · 0 评论 -
Java类与对象
类之间的关系类之间常见的三种关系:依赖、聚合、继承依赖:如果在一个类方法中,存在操作另一个类对象的行为,那么这种情况就是依赖。我们应该降低依赖,也就是降低耦合度,进而提高程序的安全性,因为如果需要修改一个类,但是此类的依赖过多,那么所有的类都需要检查修改,当这些类修改之后,那么与这些类相关的类也需要修改,可以想象是多么的麻烦。聚合:在一个类的对象中,有另一个类对象充当其实例数据,也就是...原创 2019-09-02 19:38:34 · 84 阅读 · 0 评论 -
JAVA整理——03
1.9构造函数构造函数是用来在对象实例化时初始化成员变量时用的。Java中,构造函数的特点:构造函数必须与类名相同,并且不能有返回值,不能为void;class text{ int num; public text() {} public text(int num) { this.num=num; }}每个类可以有多个构造函数,当没有提供构造函数时,编译器会提供一个...原创 2019-06-04 08:32:19 · 80 阅读 · 0 评论 -
Java基础数据类型
Java数据类型:Java一共有8中基础数据类型,4中整型,2种浮点型,一种用于表示Unicode编码的字符型,一种表示真值的布尔型。整型int:在Java中被认定为4字节的大小,short:在Java中占两2节,long:在Java中占4字节,byte:在Java中占1字节,在定义时,长整型数值有一个后缀L或者l,十六进制数有一个前缀0x或者0X,八进制有一个前缀0,从Java7开...原创 2019-08-30 23:33:23 · 116 阅读 · 0 评论 -
Java数学函数与常量
计算浮点数在Java中运算浮点数的时候需要注意,如果一个需要存储的值与计算机的寄存器位数不符时,比如需要计算long型,但是寄存器有80位,而且一个计算需要进行多步运算,需要将中间结果保存在寄存器中,那么会出现两种情况,一种是直接将计算结果截取64位进行保存,一种是直接进行80位的保存,在计算完毕之后进行64位的截取,当然,在第一种情况下会出现精度不够准确的问题,计算机在默认情况下会进行扩展精度...原创 2019-08-31 23:48:07 · 229 阅读 · 0 评论 -
Java字符串
字符串从概念上讲,Java字符串就是Unicode字符序列,Java没有内置的字符串类型,而是在标准库中提供了一个预定义类String。String类对象是不可改变的,这是因为字符串指向一个存储池,而这个存储池中的数据时共享的,也就像是数值3一样,3是不可改变的,但是指向它的变量可以改变,这样那个变量就会指向另一个内存空间,而不再是原来的内存空间。由于如果改变一个字符串会使这个变量指向别的地...原创 2019-09-01 10:58:27 · 103 阅读 · 0 评论 -
输入输出
继上篇String之后,补充一下关于StringBuilder和StringBuffer类;这两个类是可以直接进行字面变量修改的,两个类的用法一直,为什么要出两个呢?这是由于StringBuffer类是StringBuilder类的前身,它支持多线程方式执行,但是运行速度较低,为了改变这一不足,所以就出现了StringBuilder类,此类不支持同步访问,所以一般没有多线程的情况下优先使用,并...原创 2019-09-01 22:14:55 · 153 阅读 · 0 评论 -
get和post之区别
在面试中,经常会被问到get和post的区别:get和post在本质上是无区别的,因为他们都是TCP实现的,所以在传输上是一致的,那么为什么现在有这个问题的提出呢,虽然本质是一样的,但是一个东西是不会要重复的,get和post就像标签,对于这个标签标定的动作有什么区别:我扒拉了很多关于这个问题的文章,有关这方面直接放原文章get和post的区别在文章中我们可以看到很多的区别,但是殊途同归,...原创 2019-09-08 08:41:06 · 100 阅读 · 0 评论 -
HTTPS
HTTP的特点:1、支持客户/服务器模式;2、简单快速;3、灵活;4、无连接;5、无状态。关于HTTP有它的优点自然就有它的缺点:通信使用明文,不加密,可能会被窃听,不验证通信方身份,可能会出现伪装。无法证明报文的完整性,可能已遭篡改。在前文我关于HTTP进行了介绍,现在开始说HTTPS:...原创 2019-09-09 10:06:41 · 514 阅读 · 0 评论 -
面向对象之构造函数与匿名对象
构造方法定义:构造方法也就是我们所说的构造函数。在之前的代码中,实例化对象时,(属性为私有成员时)只能通过调用getter()setter()方法初始化属性,如果属性过多,那么我们每一次初始化对象都得调用其赋值函数,为了代码简洁方便,我们使用构造函数直接为其赋值,因此: 构造方法的主要作用是为类中的属性赋值 。格式:产生对象的格式:类名称 对象名称=new 类名称();注:由于类是引...原创 2019-03-12 21:39:22 · 230 阅读 · 0 评论 -
JAVA整理——02
1.5为什么需要public static void main(String[] args)这个方法?main方法是Java程序的入口方法,JVM在运行的时候,会首先查找main方法,main方法的返回值必须是void,(可以理解为main就是一个树的根,从这个根开始执行后边的程序,如果有返回值得话,那么必然是返回到调用main这个方法的地方,但是main已经是根了,显然是不可能的)并且由sta...原创 2019-06-03 23:33:48 · 110 阅读 · 0 评论 -
JAVA整理——01
Java基本概念1.1什么是Java?Java是一门高级编程语言,至于有多高级?那就要看相对于哪门语言,比如汇编语言,用那个语言如果去搞开发,那可真的厉害,比如一个赋值语句,他要求你清楚的知道使用什么寄存器,在什么时间,有没有与其他正在使用寄存器的语句冲突,这些都需要知道,并且代码量相当大,所以在慢慢的过程中,汇编变成了低级语言,c,c++这两门语言相对比较熟悉,但是比如c中,它做控制相当好,...原创 2019-06-03 22:05:21 · 86 阅读 · 0 评论 -
mysql——08
连接池概述用池来管理Connection,这样可以重复使用Connection。有了池,所以我们就不用自己来创建Connection,而是通过池来获取Connection对象。当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection“归还”给池。池就可以再利用这个Connection对象了。规范Java为数据库...原创 2019-06-19 02:39:41 · 104 阅读 · 0 评论 -
背包问题01
题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]...转载 2019-05-21 23:14:16 · 101 阅读 · 0 评论 -
JAVA中this关键字
this关键字的作用强调调用的是本类的东西表示类中的属性用this关键字调用本类的构造方法this表示当前对象调用本类中的属性public class string { public static void main(String[] args) { Person p1=new Person("Alice", 19); System.out.println(p1.getN...原创 2019-03-13 17:07:17 · 86 阅读 · 0 评论 -
JAVA中值传递与引用传递
定义首先解释下值传递和引用传递:值传递:传递的是值的拷贝,就是在方法调用的时候,实参是将自己的一份拷贝传递给形参,也就是说传递后实参与形参就互不相关了。在方法内,对该参数值的修改不影响原来实参。引用传递:指的是在方法调用时,参数是按引用进行传递,也就是实参的内存空间地址。此时在方法内对该参数值的修改会影响到实参。区别 :值传递在传递是直接将值传递出去,而引用传递就是讲堆内一个空间的地址传给...原创 2019-03-13 16:30:54 · 195 阅读 · 1 评论 -
JAVA_String类
StringString是一个类,它定义的字符串不是一个基础数据类型,而是一个对象,(字符串对象)实例化String对象String 对象名=“字符串”;String 对象名=new String(“字符串”);两种方法的使用效果类似,具体区别后文会有。String字符串比较,在之前的基础数据类型时,我们使用的是==进行数据的比较,那么在字符串中能否进行这样的比较呢,首先,我们知道字...原创 2019-03-12 22:41:13 · 110 阅读 · 0 评论 -
JAVA中的main方法
main方法关键字解释public 表示此方法可以被外部调用(访问权限修饰符)static 表示此方法可以直接由类名访问void 由于main方法是程序的主方法,也就是程序执行的起点,不需要返回值main 系统规定的默认调用的方法名称,执行时默认找到main方法名称String[]args 表示的时运行时的参数,参数传递的的形式为“java类名称 参数1 参数2 …”在我们使用主方法...原创 2019-03-14 17:22:53 · 3316 阅读 · 1 评论 -
JAVA中static关键字使用
使用static关键字声明属性在程序中使用static声明属性称作全局属性,也叫做静态属性。使用static关键字声明的属性,在理解上可以将其看做一个公共属性,比如一个类Person,在实例化这个对象时,生成的对象中有一个属性country,而对于所有的实例的值都为China,那么我们可以将其定义为是static,这样我们就有了一个属于所有对象的属性,而且在生成很多对象之后,我们需要将这些对象...原创 2019-03-14 17:03:23 · 110 阅读 · 0 评论 -
面向对象二
对象的引用对象是一个类的具体表现形式,比如一个类是人类,但是这是一个宏观的定义,只是能从这个类名得到这是个什么东西,但是并不知道其具体特征,每个人都有自己的特征,那么每个人的特征是怎么来的,这时就需要类去实例化对象,这在上一篇提到,每个对象都是一个具体的事物。对象是怎么被实例化的格式:类名 对象名=new 类名();创建对象时,首先在堆内存中new一个对象空间,这个对象就有了初始化(关于...原创 2019-03-04 17:56:42 · 136 阅读 · 0 评论 -
面向对象一
面向对象概念面向对象的提出是针对面向过程,在解决一个实际问题的时候,需要明确步骤,每一步做哪些确定的动作,这是面向过程,而面向对象是对于面向过程提出的一个抽象的描述,例如(解决吃饭这个问题:1.面向过程——对于吃饭需要先做饭(买菜,洗菜,烧饭)这些步骤都需要实现,2.面向对象——只需要告诉自己吃饭,而其他操作不需要自己实现,交由专门负责的人实现即可)面向过程是最基本的解决思路面向对象是基于...原创 2019-02-15 18:08:11 · 131 阅读 · 1 评论 -
java语言数组的定义及使用
什么叫数组?数组是存储同一种数据类型多个元素的集合。也可以看成一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型,数组本身就是一个引用数据类型。数组的使用使用数组的两个步骤:声明数组,分配内存空间【内存分为:堆内存,栈内存,方法区】1.声明数组(数据类型 数组名[]=null;/数据类型[] 数组名=null;)2.分配内存给数组(数组名=new 数据类型[长度];)内存划...原创 2019-02-14 22:42:37 · 2667 阅读 · 0 评论 -
最小公倍数
题意求1-20的最小公倍数。求两个数a,b的最小公倍数嘛,先取出其中较大的那个比如a,然后再用ka去试探能否被较小那个数整除,其中,k是从1开始的自然数 ka<a*b。另外一种比较好的方法,以n取10为例2,3,4,5,6,7,8,9,10 (1没有什么意义,忽略掉了)将这些数字分解质因数:2, 3, 22, 5, 23, 7, 222, 33, 25这些质数分别是2, 3, ...原创 2019-05-26 00:17:10 · 199 阅读 · 0 评论 -
电梯任务
题意细心的同事发现,小Q最近喜欢乘电梯上上下下,究其原因,也许只有小Q自己知道:在电梯里经常可以遇到他心中的女神HR。 电梯其实是个很暧昧的地方,只有在电梯里,小Q才有勇气如此近距离接近女神,虽然觉得有点不自在,但次数多了,女神也习惯了小Q的存在,甚至熟悉到仿佛不说上句话自己也都觉得不合适了。可是,他们的谈话也仅仅限于今天天气不错啊或是你吃了吗之类的,往往在对方微笑点头后就再次陷入难堪的沉默...转载 2019-05-26 00:27:55 · 269 阅读 · 0 评论 -
递归好吗?
题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。题目解析求1到n的和,重点是不能使用乘除、for、while、if、else、switch、case等关键字以及条件判断的语句(A?B:C),那么显然这道题目难度提升了一个台阶,如果没做过这个类型的题目,可能会心中一揪,两眼一把黑。解题思路这里...原创 2019-05-26 23:26:10 · 383 阅读 · 0 评论 -
mysql——07
ResultSetHandler结果集处理类ArrayHandler 将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值ArrayListHandler 将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。BeanHandler 将结果集中第一条记录封装到一个指定的javaBean中。BeanL...原创 2019-06-19 02:28:19 · 98 阅读 · 0 评论 -
mysql——06
DBUtils如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC开发,本案例我们讲采用apache commons组件一个成员:DBUtils。DBUtils就是JDBC的简化开发工具包。需要项目导入commons-dbutils-1.6.jar才能够正常使用DBUtils工具。概述DBUtils是java编程中的数据库操作实用工具,小巧简单实用。DBUtils封装了对...原创 2019-06-19 02:19:30 · 81 阅读 · 0 评论