随笔分类 -  JAVA笔记

摘要:RuntimeException RuntimeException是Exception接口下的一个子接口,通常我们在自定义异常时,可以有实现Exception或是实现RuntimeException两种选择。 两者之间的区别在于,实现RuntimeException的异常,可以不向上声明,可以不捕获 阅读全文
posted @ 2020-03-28 09:50 Scorpicat 阅读(483) 评论(0) 推荐(0)
摘要:一、引言 在我们设计网站时,会涉及到用户密码安全存储的这个点。通常我们不会直接将用户的密码存储在数据库中,而是通过一种“加密”的算法将加密后的密码存储在数据库中,当用户登录时,对用户输入的密码进行加密后与数据库进行比对,如果正确则放行登录。 二、相关技术 (一)加密算法与消息摘要算法 加密与解密通常 阅读全文
posted @ 2020-03-21 19:04 Scorpicat 阅读(337) 评论(0) 推荐(0)
摘要:一 加密算法 应用于数据传输 通过算法,可以得到加密前的数据 二 消息摘要算法 应用于数据校验,比如文件完整性验证,存储密码 根据算法获得的结果长度是固定的,不同的算法有不同的数据长度 有不同消息获得同样运算结果,但概率极低 相同的数据通过同一个算法获得的结果一定相同 所以我们在说数据库存储用户密码 阅读全文
posted @ 2020-03-21 11:44 Scorpicat 阅读(346) 评论(0) 推荐(0)
摘要:右键项目->export->java->JAR File 阅读全文
posted @ 2020-03-03 17:16 Scorpicat 阅读(123) 评论(0) 推荐(0)
摘要:效果演示 按下alt+/ 弹出预设代码 操作 windows->preference->java->editor->template->new 1:快捷代码 2:描述 3:完整代码 4:先点击完整代码中需要添加cursor的地方,然后点击insert variable 5:选择cursor 阅读全文
posted @ 2020-02-24 15:30 Scorpicat 阅读(173) 评论(0) 推荐(0)
摘要:连接池概念 导入dbcp包 可以自行下载jar包,推荐使用maven自动获取。 pom.xml <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</versi 阅读全文
posted @ 2020-02-21 14:03 Scorpicat 阅读(195) 评论(0) 推荐(0)
摘要:视频教程:http://doc.canglaoshi.org/doc/maven.html 或直接下载视频:https://v.baca.org.cn/4f0a0c28fd9145608758a0b0ccf558ad/fa7d666d68f6457c8c70dbfdab1ebc95-fca58d42 阅读全文
posted @ 2020-02-21 09:25 Scorpicat 阅读(140) 评论(0) 推荐(0)
摘要:下载地址 https://files-cdn.cnblogs.com/files/Scorpicat/log4j-1.2.12.jar.zip 导入配置文件 在eclipse的目录中找到: log4j.properties文件导入项目src下 log4j导入项目 配置详解 第1行:全局配置:INFO 阅读全文
posted @ 2020-02-18 11:45 Scorpicat 阅读(188) 评论(0) 推荐(0)
摘要:java是一门面向对象的语言,对于重复的代码,我们能封装就封装,在32节中,我们写了student表的的dao层,能用,但有很多重复代码,比如加载驱动,获取Connection对象等,我们可以将它们封装到一个类中。 同样地,我们创建一个Util包用来存放封装的工具,创建一个JdbcUtil类用来封装 阅读全文
posted @ 2020-02-17 16:34 Scorpicat 阅读(490) 评论(0) 推荐(0)
摘要:Dao层是啥 dao层又称数据访问层,全称为data Access object ,属于一种比较底层,比较基础的操作,具体到对某个表、某个实体的增删改查。 在java项目中,我们通常单独使用一个包来代表dao层,例如:com.xxx.xxx.dao dao层主要用来对数据库的表进行增删改查,每一个表 阅读全文
posted @ 2020-02-17 09:47 Scorpicat 阅读(5945) 评论(0) 推荐(0)
摘要:线程池的引入 不适用线程池的情况,每当来一个任务,我们就要new一个Thread对象,很麻烦。而且new完执行了任务就死掉了,又来一个任务又要new一个Thread,可能开销会很大,所以设想,如果每个线程对象都可以重复执行任务,那岂不美哉?于是线程池就被搞出来了。 线程池 我们举这样一个例子:银行窗 阅读全文
posted @ 2020-01-19 09:57 Scorpicat 阅读(147) 评论(0) 推荐(0)
摘要:占位 阅读全文
posted @ 2020-01-17 15:55 Scorpicat 阅读(328) 评论(0) 推荐(0)
摘要:单例模式 单例模式就是一个类只允许有一个实例,并且向外界提供一个访问该实例的全局访问点。 单利模式的优点 由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决 – 阅读全文
posted @ 2020-01-08 19:56 Scorpicat 阅读(100) 评论(0) 推荐(0)
摘要:GOF23设计模式 GPF即group of four,是它们设计了GOF23种设计模式。 创建型模式 单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式 结构型模式 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 行为型模式 模板方法模式、命令模式、迭代器模式、观察者模 阅读全文
posted @ 2020-01-08 19:50 Scorpicat 阅读(144) 评论(0) 推荐(0)
摘要:队列 队列就是先进先出的一种数据结构。java提供了一个Queue结构用来表示队列。这个接口中提供了一些方法,用于对队列中的元素进行操作: offer(obj):从队尾存入一个元素 poll():从队首取出一个元素 peek():(中译:偷窥,一瞥)从队首获取一个元素,但不从队列中删除它 在集合中, 阅读全文
posted @ 2020-01-08 15:14 Scorpicat 阅读(117) 评论(0) 推荐(0)
摘要:队列中的进与取 先进先出 存:offer(Obj) 取:poll() 栈的进与出 先进先出,通过队列实现。应用场景有各种操作的后退与前进,如资源管理器的前进与后退,ps绘画记录的前进与后退。 进:push(Obj) 出:pop() 集合的添加与获取 添加:add(ele) 获取:get(index) 阅读全文
posted @ 2020-01-08 14:39 Scorpicat 阅读(806) 评论(0) 推荐(1)
摘要:当匿名内部类只有一个中有且只有一个抽象方法时,可以更加匿名内部类写法,编程lamada表达式。 例如,有这样一个例子: 先写一个接口,接口中只有一个抽象方法 public interface AbstractLambda { int sayHi( int a); } 再写一个A类写一个方法doSom 阅读全文
posted @ 2020-01-08 10:51 Scorpicat 阅读(142) 评论(0) 推荐(0)
摘要:List中的subLIst()方法可以截取父数组中指定下标范围形成一个新的数组。但注意:这个新数组代表的是父数组的一部分,改变它就会改变父数组中的对应部分。 Arrays中的asList()方法需要注意的地方:它并不是将数组转化为一个List对象,而是以List的方式对数组进行操作。也就是说,通过这 阅读全文
posted @ 2020-01-07 17:11 Scorpicat 阅读(221) 评论(0) 推荐(0)
摘要:由于没钱下载javaassist工具包,官网又打不开。所以没做实操。 万恶的CSDN,全网就CSDN有包。 来看看老师做的: package com.bjsxt.test; import javassist.CannotCompileException; import javassist.Class 阅读全文
posted @ 2020-01-05 21:58 Scorpicat 阅读(454) 评论(0) 推荐(0)
摘要:脚本引擎管理工具 java提供了一个脚本引擎管理工具,从这个工具可以获得各种脚本语言的脚本引擎,如js、python等。我们可以通过脚本引擎,来调用已经写好的脚本文件。相当的方便。 我们可以使用:new ScriptEngineManager()获取一个脚本引擎管理工具对象。 然后,可以通过getE 阅读全文
posted @ 2020-01-05 17:25 Scorpicat 阅读(942) 评论(0) 推荐(0)