- 博客(38)
- 收藏
- 关注
原创 idea安装+配置 (win10 64)
idea下载破解 https://www.algerfan.cn/设置字体配置maven自动导包设置tab页面多行显示的设置设置java代码注释风格打开项目时的设置全局jdk配置文件编码设置代码提示忽略大小写...
2019-09-11 08:52:51
651
原创 git安装+配置(win10 64)
下载地址:https://git-scm.com/download/win安装一路默认即可设置名字和email
2019-09-10 17:31:39
226
原创 mysql安装+配置(win10 64)
1.下载地址:mysql2. 配置在mysql文件夹下添加my.ini文件[mysql]default-character-set=utf8[mysqld]port=3306basedir=D:\work\mysql-8.0.15-winx64max_connections=20character-set-server=utf8default-storage-engi...
2019-09-10 16:43:00
219
原创 Maven安装+配置 (win10 64系统)
1.下载MavenMaven下载地址解压到不带空格的英文路径下:2. 配置远程镜像仓库maven默认访问的远程仓库为maven的中央仓库,速度慢,改为国内的镜像仓库:阿里云仓库打开 D:\work\apache-maven-3.6.2\conf 的setting.xml在mirrors标签中添加:<mirror> <id>alimaven&l...
2019-09-10 12:46:29
206
原创 JDK8安装+配置(win10 64系统)
1. 下载jdk8jdk下载选择安装路径(自定义): 默认路径C:\Program Files\Java一会配置环境变量要用到 2. 配置环境变量右键我的电脑——属性新建系统变量JAVA_HOME新建系统变量CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar注意不要忽略最前面的点.编辑系统变量Path...
2019-09-10 11:05:48
420
原创 事务管理
什么是事务事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行。事务的特性—ACID原子性(Atomicity):事务是应用中不可再分的最小执行体一致性(Consistency):事务执行的结果,须使数据从一个一致性状态,变为另一个一致性状态隔离性(Isolation):各个事务的执行互不干扰,任何事务的内部操作对其他的事务都是隔离的持久性(Dura...
2019-08-05 19:04:41
118
原创 Mybatis报错: Parameter 'XXX' not found. Available parameters are [arg1, arg0, param1, param2]解决方案及问题根源
造成此问题的原因通常是Dao层的方法含有多个参数废话不多说,先上解决方案解决方案一:在参数前加上@Param注解解决方案二:修改idea设置 File->Settings->Build,Execution,Deployment->Compiler->Java Compiler ...
2019-07-26 16:30:07
10436
2
原创 两个浮点数值的相等测试
通过测试两个数的差小于某个阈值, 来比较他们是否已经足够接近通常将阈值设为1e-14来比较两个double类型的值,设为1e-7来比较两个float类型的值
2019-04-15 23:36:19
490
转载 cookie&session
当你第一次访问一个网站的时候,网站服务器会在响应头内加上Set-Cookie:PHPSESSID=nj1tvkclp3jh83olcn3191sjq3(php服务器),或Set-Cookie JSESSIONID=nj1tvkclp3jh83olcn3191sjq3(java服务器)信息,此信息是服务器随机生成的,放在服务器内存里,为了标识唯一的客户端用户,内容不会重复,这就是sessionid....
2019-04-10 14:48:00
113
原创 JDBC时区异常:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time
报错如下:java.sql.SQLException:The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezon...
2019-03-28 16:23:48
187
原创 《Java核心技术卷Ⅰ》读书笔记——5.3-5.6
5.3 泛型ArrayListArrayList 具有自动调节数组容量的功能。声明和构造:ArrayList<Employee> staff = new ArrayList<Employee>();Java SE 7后,可以省去右边的类型参数:ArrayList<Employee> staff = new ArrayList<>(...
2019-03-13 12:36:39
185
原创 子类对象的构造过程
今天发现了一个非常有意思的事情,请看下面代码package test;public class A { private int i = baz(); public int baz() { System.out.print("A"); return 0; }}class B extends A { private int i=baz(); @Overr...
2019-03-13 11:20:36
1384
原创 《Java核心技术卷Ⅰ》读书笔记——5.2 Object:所有类的超类
java.lang.Obeject5.2.1 equals方法在Object类中,这个方法判断两个对象是否具有相同的引用。但是对于大多数类来说,这种判断没有什么意思。我们经常要做的是检测两个对象状态的相等性。例如,如果两个雇员的姓名、薪水、雇佣日期都一样,则认为这两个对象是相等的。请注意,这里的类为java.util.Objects(不同于java.lang.Obj...
2019-03-13 11:20:14
208
原创 《Java核心技术卷Ⅰ》读书笔记——访问权限修饰符
private——仅对本类可见 public——对所有类可见 protected——对本包和所有子类可见 默认(无修饰符)——对本包可见
2019-03-13 09:03:41
224
原创 《Java核心技术卷Ⅰ》读书笔记——5.1 类、超类和子类
5.1.2 覆盖方法子类继承了超类中的所有方法和域。但是,超类Empolyee中的有些方法对子类Manager并不一定适用。具体来说,Manager类中的getSalary方法应该返回薪水和奖金的总和(超类中没有奖金)。为此,需要提供一个新的方法来覆盖(override)超类中的这个方法:在Manager类中若改写成如下:不能运行,原因是Manager类的getSalary...
2019-03-13 09:03:30
252
原创 《Java核心技术卷Ⅰ》读书笔记——4.8 类路径(ClassPath)
(JAR文件:java归档文件)在UNIX环境中,类路径中的不同项目间采用冒号分隔在Windows环境中,采用分号分隔类路径包括:基目录home/user/classdir 或 c:\classes 当前目录(.) JAR文件home/user/archives/archive.jar 或 c:\achives\achives.jar从Java SE 6开始,可以...
2019-03-12 16:24:03
324
原创 《Java核心技术卷Ⅰ》读书笔记——4.7 包
为了保证包名的绝对唯一性,Sun公司建议将公司的因特网域名以逆序的形式作为包名,例如:com.xxxx从编译器的角度看,嵌套的包之间没有任何关系,例如,java.util包与java.util.jar包毫无关系,每一个包都拥有独立的类集合。4.7.1类的导入一个类可以使用所属包中的所有类,以及其他包中的公用类。我们可以采用两种方式访问另一个包中的公有类。第一种:java.time....
2019-03-12 15:32:55
336
原创 《Java核心技术卷Ⅰ》读书笔记——4.6 对象构造
4.6.1 重载要完整的描述一个方法,需要指出方法名以及参数类型,这叫做方法的签名(signature)。返回类型不是方法签名的一部分,也就是说,不能有两个名字相同、参数类型也相同却返回不同类型值的方法。4.6.2 默认域初始化如果在构造器中没有显示的给域赋予初值,那么就会被自动地赋为默认值:数值为0、布尔为false、对象引用为null。然而,只有缺少程序设计经验的人才会这样做。...
2019-03-12 10:26:01
209
原创 《Java核心技术卷Ⅰ》读书笔记——4.5 方法参数
参数的传递方式分为按值调用和按引用调用。按值调用(call by value)表示方法接受的是调用者提供的值。按引用调用表示方法接受的是调用者提供的变量地址。Java总是采用按值调用。即方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何参数变量的内容。假如一个方法试图将一个参数值增加3倍:然后调用这个方法:但是结果是失败的,调用该方法后percent值...
2019-03-12 10:25:56
278
原创 《Java核心技术卷Ⅰ》读书笔记——4.4 静态方法
4.4.4 工厂方法静态方法还有另外一种常见的用途。类似LocalDate和NumberFormat的类使用静态工厂方法(factory method)来构造对象。为什么不使用构造器完成这些操作呢?主要有两个原因:构造器无法命名。构造器的名字必须与类名相同,但是有的时候我们希望得到更加直观的方法名。 构造器无法改变所构造的对象类型。而工厂方法可以将函数返回类型设置为该类的子类。4....
2019-03-12 10:25:48
155
原创 《Java核心技术卷Ⅰ》读书笔记——4.3.7 基于类的访问权限
一个方法可以访问所属类的所有对象的私有数据。例如,典型的调用方式是这个方法不仅访问了harry的私有域,还访问了boss的私有域。这是合法的,Employee类的方法可以访问Employee类的任何一个对象的私有域。...
2019-03-12 10:25:37
171
原创 《Java核心技术卷Ⅰ》读书笔记——4.3.9 final实例域
final修饰符大都应用于基本类型域,或不可变类的域(即类中的不存在更改器方法)。对于可变的类(存在更改器的类),使用final可能会对读者造成混乱。因为final关键字只是表示存储在变量中的对象引用不会再指向其他对象,但是这个对象的状态是能够被改变的。静态常量System.out由于每个类对象都可以对公有域进行修改,所以,最后不要将域设计成public。但是,公有常量却没问...
2019-03-12 10:25:08
235
原创 《Java核心技术卷Ⅰ》读书笔记——4.3.6 封装的优点
注意:不要编写返回引用可变对象的访问器方法。在Employee类中就违反了这个设计原则,其中的getHireDay方法返回了一个Date类的对象:class Employee{ private Date hireDay; public Date getHireDay(){ return hireDay; //Bad }}LocalDate类没有更改器...
2019-03-12 10:24:58
184
原创 《Java核心技术卷Ⅰ》读书笔记——4.3.5 隐式参数和显式参数
在每一个方法中,关键字this表示隐式参数。显示参数即为方法名后括号内的参数。
2019-03-12 10:24:46
186
原创 《Java核心技术卷Ⅰ》读书笔记——4.2.2 预定义类LocalDate类
不要使用构造器来构造LoaclDate类的对象。应当使用静态工厂方法(factory method)代表你调用构造器。LocalDate.now()LocalDate.of(1999, 12, 31调用更改器方法会改变对象的状态;相反,访问器方法只访问对象而不修改对象。下面应用LocalDate类编写程序显示当前月的日历,格式为:package coding;im...
2019-03-11 16:44:06
220
原创 《Java核心技术卷Ⅰ》读书笔记——4.1.4 类之间的关系
在类之间,最常见的关系有:依赖(“uses-a”) 聚合(“has-a”) 继承(“is-a”)依赖——Order类使用Acount类是因为Order对象需要访问Account对象查看信用状态。如果一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类。应尽可能地将相互依赖的类减至最少。如果类A不知道类B的存在,它就不会关心B的任何改变。就是让类之间的耦合度最小。...
2019-03-11 16:04:37
140
原创 《Java核心技术卷Ⅰ》读书笔记——3.10.4 命令行参数
每一个Java程序都有一个带String args[]参数的main方法,这个参数表明main方法将接受一个字符串数组,也就是命令行参数。例如:public class Message{ public static void main(String args[]){ if(args.length == 0 || args[0].equals("-h")) ...
2019-03-11 15:55:01
244
2
原创 《Java核心技术卷Ⅰ》读书笔记——3.10.3 数组拷贝
在Java中,允许将一个数组变量拷贝给另一个数组变量,这时,两个变量将引用同一个数组:int[] luckyNumbers = smallPrimes;luckyNumbers[5] = 12; //now smallPrimes[5] is also 12如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类的copyOf方法:int[] copiedLu...
2019-03-11 15:36:34
139
原创 《Java核心技术卷Ⅰ》读书笔记——3.10.2 数组初始化以及匿名数组
创建一个数字数组时,所有元素都被初始化为0;boolean数组的元素会被初始化为false;对象数组的元素初始化为nullJava中,提供了一种创建数组对象并同时赋予初始值的简化书写形式:int[] smallPrimes = {2, 3, 5, 7, 11, 13};请注意,在这样使用语句时,不需要调用new。甚至还可以初始化一个匿名数组:new int[] {17, 19...
2019-03-11 15:15:25
179
原创 《Java核心技术卷Ⅰ》读书笔记——3.5 运算符
3.5.6 关系和boolean运算符&&和||运算符是按照“短路”方式来求值的:如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了。3.5.7 位运算符3.5.8 运算符级别3.5.9 枚举类型enum Size{ SMAll, MEDIUM, LARGE, EXTRA_LARGE };现在,可以声明这种类型的变量:Size s ...
2019-03-11 15:04:12
182
原创 《Java核心技术卷Ⅰ》读书笔记——3.3.3 char类型
char类型原本用于表示单个字符。不过,现在的情况已经有所变化。如今,有些Unicode字符可以用一个char值(代码单元)描述,另外一些Unicode的字符则需要两个char值。原因如下:码点(code point)是指与一个编码表中的某个字符对应的代码值。在Unicode标准中,码点采用十六进制书写,并加上前缀U+,例如U+0041就是A的码点。Unicode码点可以分成17个代码级别(c...
2019-03-11 14:45:20
126
原创 《Java核心技术卷Ⅰ》读书笔记——3.3.2 浮点型
double表示这种类型的数值精度是float类型的两倍。绝大部分应用程序都采用double类型。在很多情况下,float类型的精度很难满足需求。事实上,只有很少的情况适合使用float类型,例如,需要单精度数据的库,或者需要存储大量数据。float类型的数值有一个后缀F或f(如3.14F)。没有后缀F的浮点数值默认为double类型。注释:可以使用十六进制表示浮点数值。例如,0.12...
2019-03-11 14:27:43
181
原创 《Java核心技术卷Ⅰ》读书笔记——3.3.1 整型
在Java中,整型的范围与运行java代买的机器无关。这就解决了软件从一个平台移植到另一个平台,或者在同一个平台中的不同操作系统之间进行移植给程序员带来的诸多问题。与此相反,C和C++程序需要针对不同的处理器选择最为高效的整型,这样就有可能造成一个在32位处理器上运行很好的C程序在16位系统上运行发生整数溢出。由于Java程序必须保证在所有机器上都能够得到相同的运行结果,所以各种数据类型的取值范围...
2019-03-11 14:11:27
114
转载 设计原则
消除代码复制。 消除代码复制的两个基本手段:函数和父类 封装 要评判某些设计比其他的设计优秀,就得定义一些在类的设计中重要的术语,以用来讨论 设计的优劣。对于类的设计来说,有两个核心术语:耦合和聚合。 耦合这个词指的是类和类之间的联系。之前的章节中提到过,程序设计的目标是一系列通 过定义明确的接口通信来协同工作的类。耦合度反映了这些类联系的紧密度。我们...
2019-02-28 17:49:27
113
原创 C语言习题——数字特征值
数字特征值数题目内容:对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101。这里的计算可以用...
2018-10-02 12:01:40
3197
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人