- 博客(49)
- 收藏
- 关注
原创 Java-安装Maven
1. Maven的下载和安装老版本下载链接:老版本的maven如果想要下载最新版本,直接在官网下载就可以。但是,最新版本的maven可能有些不稳定。图示:下载到本地,解压缩。(不建议在c盘操作)2. 配置环境变量基本操作流程:进入我的电脑–>右击我的电脑,选择属性–>高级系统设置–>环境变量在系统变量处,选择新建环境变量,并添加如下内容:环境内为maven的安装路径:E:\tools\apache-maven-3.5.4-bin\apache-maven-3.5.4
2020-09-21 19:27:25
210
1
原创 Java线程-生产者和消费者问题
1.概述对于算法—消费者和生产者模式大概是我们最常见的问题了。再此文章中,笔者给出了三种解决方式。1.1 傻瓜式的银行案例BankCard类public class BankCard { // 余额 private double money; // 标记 // flase没有钱,不能取,但可以存; // true有钱,可以取,但不能存 private boolean flag; /** * 存钱 * @param m
2020-09-17 21:43:10
195
原创 Java-BigDecimal的算术运算
1. 概述对于BigDeciaml基本运算大致分为加,减,乘,除。其方法大概如下加:add(BigDecimal bigdecimal)减:subtract(BigDecimal bigdecimal)乘:multiply(BigDecimal bigdecimal)除:divide(BigDecimal bigdecimal)2.具体使用初始化:...
2020-09-17 12:49:12
446
原创 JavaWeb-实体类对象嵌套实体类对象的查询
1.1 实体类代码Cart类(购物车类)public class Cart { // 自增的购物车记录id private int cid; // 用户id private int uid; // 产品id private int pid; // 产品数量 private int cnum; // 产品总价 private BigDecimal ccount; // 999.99 99999(lon
2020-09-16 23:00:19
4894
原创 MySQL-表的连接
1.概述对于数据库的连接,笔者总结了五种。即:笛卡尔积,隐式链接,内连接,左外连接,右外连接。由于今日编写项目时,两表之间的连接有所生疏,故而总结一下此类语法。1.1 笛卡尔积简介:t,p分别是type和product表的表的简称或别名。/* 笛卡尔积 */SELECT p.*,t.* FROM product p, TYPE t;显示结果:此内容是臃肿的,没有进行过选择的。product表中的每个选项都与type表中的每个类型均匹配了一遍。1.2 隐形连接/*链接查询*//*隐形连接
2020-09-16 20:07:56
126
原创 Servlet-登录时的图形验证码
概述为了防止黑客或者软件的恶意输入登录,在登录时,我们必须添加类似于随机数或验证码之类的安全措施。1. 图形验证码(方法一)在使用servlet创建图形验证码时,必须提前创建lib资源目录,并且导入相关的Validate的jar包,添加到资源目录下。代码如下:@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
2020-09-15 21:24:08
174
原创 Java-前缀或随机验证码之随机数字
概述对于文件的上传和下载,往往不会用到文件的本来的名称,否则,会造成一些不安全的隐患。故此,需要在原本文件名之前加上一堆无规律可循的随机数字或符号。在生活中,也有另一种情况:在使用付费软件时,往往需要一大长串的随机的英文字符或数字。也是为了安全考虑,防止别人恶意注册!1. 使用UUID产生随机字符// 导入UUID的包import java.util.UUID;public static String getUUID(){ String uuid = UUID.randomUUID(
2020-09-15 21:09:40
204
原创 JDBC-查询数据(封装工具类)
使用封装工具类方式查询数据1. 封装注册,连接,关闭工具类public class JdbcUtils { // 设置属性 // 驱动 private static String driver; // 连接 private static String url; // mysql用户名 private static String user; // mysql密码 private static String pwd; // 1
2020-08-23 11:12:28
568
原创 JDBC-初级登陆密码验证
1. 输入数据该功能目的为实现用户输入的字符串与数据库中已有的字符串匹配,从而登陆数据库,简单实现一下。Scanner input = new Scanner(System.in);System.out.println("===============欢迎来到该系统==================");System.out.println("===============请输入用户名:==================");String username = input.nextLine()
2020-08-21 08:49:22
337
原创 JDBC-增删改查
添加元素// 添加int count1 = stat.executeUpdate("insert into student(name,password,gender,born,address) values ('tom','12345','男','1997-02-01','北京')");int count2 = stat.executeUpdate("insert into student(name,password,gender,born,address) values ('jack','12345
2020-08-20 22:15:47
128
原创 JDBC-创建数据库和表
// 1. 注册驱动Class.forName("com.mysql.jdbc.Driver");// 2. 获取连接// comepanydb此时只是作为一个已有的数据库防止语句出错String url = "jdbc:mysql://localhost:3306/comepanydb?useSSL=false&characterEncoding=utf8";Connection conn = DriverManager.getConnection(url, "root", "Root
2020-08-20 22:02:21
2068
原创 JDBC-初始化操作
// 1. 注册驱动,jdk1.8之后,自动注册Class.forName("com.mysql.jdbc.Driver"); // 获取类对象导致类加载,执行静态代码块,注册驱动//DriverManager.registerDriver(new com.mysql.jdbc.Driver());// 1. 驱动注册两次 // 2. 耦合性高,依赖驱动类// 2. 获取连接/** * url:Uniform Resources Location 统一资源定位符 网址,连接字符串 */Stri
2020-08-20 21:51:56
503
原创 JDBC-驱动的安装
1. 概念1.1 概述JDBC(Java Database Connectivity),即为Java连接数据库的规范。1.2 核心思想Java中定义了访问数据库的接口,可以为多种关系型数据库提供统一的访问方式。由数据库厂商提供驱动实现类(Driver数据库驱动)。1.3 MySQL数据库驱动的安装1.3.1mysql-connector-java-5.1.X 适用于5.X版本。mysql-connector-java-8.0.X 适用于8.X版本。5.X版本链接1.3.2再
2020-08-20 21:49:59
876
原创 Java初学—线程
花费了三天时间,终于把线程知识点总结完毕了!使用ThreadPoolExecutor类创建线程池七大参数核心线程数最大线程数非核心线程存活时间时间单位请求队列线程创建工厂拒绝策略四大拒绝策略AbortPolicy 抛弃任务,并抛出异常默认的拒绝策略这是线程池默认的拒绝策略,在任务不能再提交的时候,抛出异常,及时反馈程序运行状态。如果是比较关键的业务,推荐使用此拒绝策略,这样子在系统不能承载更大的并发量的时候,能够及时的通过异常发现。DiscardPolicy 放弃任务,
2020-08-06 21:22:18
116
原创 Java实现二叉排序树
二叉排序树二叉排序树(Binary Sort Tree), 又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据结构中的一类。在一般情况下,查询效率比链表结构要高。特点:若左子树不空,则左子树上所有结点的值均小于它的根结点的值;若右子树不空,则右子树上所有结点的值均大于它的根结点的值;左、右子树也分别为二叉排序树;没有键值相等的结点。代码实现 /** * 二叉树的根节点 */ private Node root; /**
2020-08-03 23:44:52
136
原创 Java初学—集合(部分)
终于把知识点整理完了,松了一口气。HashMap源码分析分析:• HashMap刚创建时,table是null,为了节省空间,当添加第一个元素时,table容量调整为16。• 当元素个数大于阈值(16*0.75=12)时,会进行扩容,扩容后大小为原来的2倍。目的是减少调整元素的个数。• jdk1.8 当每个链表长度大于8,并且数组元素个数大于等于64时,会调整为红黑树,目的提高执行效率。• jdk1.8 当链表长度小于等于6时,调整成链表。• jdk1.8以前,链表是头插入,jdk1.8以后
2020-08-03 22:50:08
111
原创 Java—集合知识点的部分实现
绪论上一篇博客笔者介绍了部分的集合的知识点以及部分方法,那么,趁着周末的空闲,笔者对部分内容用代码实现一下,希望能给同样不知所措的你提供一些帮助。集合概述Collection集合体系包括了List和Set两大类;其中,List包括了ArrayList,Vector和LinkedList。Set包括了HashSet,LinkedHashSet和SortSet。SortedSet包括了TreeSet。下面讲述的内容主要为关于List的实现。1. Collection// 首先第一步,创建集合//
2020-08-01 14:58:50
112
原创 排序算法之冒泡排序
排序算法对于数组的排序,大致分为五种:冒泡排序,选择排序,插入排序,希尔排序和快速排序。本文讲解冒泡排序。冒泡排序鉴于对学术的严谨,对于此知识点,笔者特意在百度百科查找了关于冒泡排序的知识点。冒泡排序(Bubble Sort):一种计算机科学领域的较简单的排序算法。原理冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。...
2020-07-24 08:35:38
94
原创 数据库连接池和HTML
数据库连接池1. 为什么要使用数据库连接池线程池初始化一些线程,提供给程序使用节约了资源,关于线程的开闭资源,节约了内存空间例如初始化五个线程对象,这里有是个线程目标首先执行五个线程目标,其他线程目标等待五个线程目标执行完毕,会执行其他线程,不会关闭线程。2. 数据库连接池考虑的问题数据库连接池适用于管理数据库连接资源,属性和数据库连接对象。数据库连接的必要的资源:UR...
2020-03-26 17:55:35
158
原创 PreparedStatement使用
1. PreparedStatement插入数据SQL完成@Testpublic void testInsert() { User user = new User(10, "逗比匿名君", "123456"); Connection connection = null; PreparedStatement preparedStatement = null; try { //...
2020-03-25 22:49:05
469
原创 JDBC高级
1. Statement操作SQL语句// 查询指定的一个数据行,转换成对应的User对象 @Test public void testSelectOne() { ResultSet resultSet = null; Statement statement = null; Connection connection = null; User user1 = null; ...
2020-03-25 00:08:41
100
原创 Tcp服务器和客户端 学生管理系统概述
服务器功能分析1. 数据处理模块验证用户登录完成最基本的增删改查功能考虑锁操作2. 数据存储模块JSON文件格式存储和读取定时更新操作3. 数据传输模块发送JSON格式到客户端接收客户端发送请求和数据客户功能分析1. 登录模块登录请求模块验证用户名和密码接收客户端发送请求和数据2. 数据展示模块JSON格式数据展示解析展示代码实现过程概述1. S...
2020-03-17 22:46:41
241
原创 NIO实现网络实验室
NIO完成网络编程1. Selector选择器老大Selector选择器,网络编程使用NIO的大哥!!!服务器可以执行一个线程,运行Selector程序,进行监 听操作。新连接, 已经连接, 读取数据,写入数据Selector常用方法:public static Selector Open();得到一个选择器对象public int select(long timeout);监...
2020-03-16 21:09:41
150
原创 单例模式和NIO
单例模式1. 要求当前类有且只有一个对象,一旦当前类存在一个对象之后,无法在重新创建当前类的对象。就算是你要创建,代码返回的对象依然是上一次创建的对象。懒汉模式,饿汉模式!2. 单例模式推导【懒汉】代码示例:/** * SingleDog要求是一个单例类,整个代码运行周期内有且只有一个类对象 ** 不可取方式: * @全体成员 SingleDog类使用一个单例类,我创建过对象了...
2020-03-15 14:13:46
108
原创 注解
注解1. 注解概述1. 注解解释注释:解释代码,给程序员看注解:Java语言中的类,方法,变量,参数和包都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容。当然它也支持自定义Java标注。JDK1.5之后的特征:用于说明程序,一般在框架中使用格式: @AnnotationName...
2020-03-10 21:10:41
98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人