![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
=====JAVA=====
java技术
南宫梦沉
这个作者很懒,什么都没留下…
展开
-
匹配空格字符正则
匹配空格字符正则求求你们不要再说s可以匹配空格了,s匹配任意的空白符,包括空格,制表符(tab),换行符,中文全角空格,我现在只想匹配空格。网上找了很多种方法,最后找到一种方法,j记录一下,采用空格的unicode码2.半角空格(英文符号)\u0020,代码中常用的;3.全角空格(中文符号)\u3000,中文文章中使用;...原创 2021-06-22 18:17:01 · 1487 阅读 · 0 评论 -
通用代码工具类java
package com.aiseeding.ase.common.utils;import com.aiseeding.ase.common.domain.CommonParam;import com.aiseeding.ase.common.domain.PageObject;import com.aiseeding.ase.common.domain.PageParam;import org.apache.commons.lang3.StringUtils;import org.sprin原创 2021-03-31 15:59:58 · 102 阅读 · 0 评论 -
servlet实现记录上次登录的时间
本文主要是用servlet技术实现记录上次登录的时间,中间主要使用cookie来记录上一次登录的值,其中用户名和密码是用SQL语句从数据中查询出来对比的。前端页面:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登陆界面</title> <script src="js/jquery-1.8.3.js">&l原创 2020-09-07 21:32:46 · 727 阅读 · 0 评论 -
servlet工具类封装实现
本文主要是用原生的servlet封装成的工具类package com.util;import org.apache.commons.beanutils.BeanUtils;import org.apache.commons.beanutils.ConvertUtils;import org.apache.commons.beanutils.Converter;import java.text.ParseException;import java.text.SimpleDateFormat;原创 2020-09-07 21:27:03 · 325 阅读 · 0 评论 -
maven配置安装与使用
1.安装maven1.下载maven压缩包,可以直接去官网下载(传送门)我自己下载的是3.6.3版本的。下载以后解压然后配置环境变量,选系统变量,然后新建一个,然后变量名命名为MAVEN_HOME,变量值是maven的安装解压路径。随后在配置path路径然后新建一个将一下代码粘贴进去%MAVEN_HOME\bin%然后确定就OK。最后来检测一下是否安装成功:win+R建输入cmd,键入mvn -v 如果安装成功会出现以下图片显示的内容。此时maven就安装成功了。2.将m原创 2020-09-04 20:37:09 · 205 阅读 · 0 评论 -
原生的servlet文件下载实现
文件下载是很多项目中比不可少的一个需求,下面用最原生的servlet来实现文件的下载功能。记录一下实现的代码,方便以后忘记的时候再来温习一下~package com.service;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.annotation.WebServlet;原创 2020-09-03 20:02:51 · 223 阅读 · 0 评论 -
原生的JDBC工具类封装
无论是mybatis还是hibernate都是只是将JDBC进行了封装,于是乎参考了老师的套路自己也封装了一些功能。说不定对于以后学习mybatis和hibernate的时候会有帮助。功能主要包括:本工具类包含了JDBC的常用的增删改查操作查询包括:单表查询单表条件查询多表查询多表联合加条件查询分页查询满足条件的记录数根据主键查询等原生的JDBC操作…上代码:package com.util;import com.alibaba.druid.pool.DruidDataS原创 2020-09-03 19:47:21 · 461 阅读 · 0 评论 -
java验证码代码实现(servlet演示)
以前看见各大网站都有图形化的验证码(虽然现在已经很少大型网站都不使用了)的时候就超级非常的好奇这个验证码到底是怎么实现的,真的是超级的羡慕…今天学习了很多东西,然后自己也来试着写了一下,为此记录下来,说不定以后会用得到吧 ~这里以最原生的servlet来演示:package com.service;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.W原创 2020-09-03 19:38:25 · 235 阅读 · 0 评论 -
Servlet中Tomcat响应客户端返回去的页面中出现中文乱码问题
当servlet响应客户端请求的时候,返回去的中文字符会会出现乱码,可以使用response.setContentType("text/html;charset=utf-8");将字符集设置为utf-8,而不是像响应一样req.setCharacterEncoding("UTF-8");这样设置字符集,多数的时候这样设置字符集是没有效果的。下面用一个例子来演示:package com.service;import javax.servlet.ServletException;import java原创 2020-09-03 19:22:16 · 976 阅读 · 0 评论 -
Comparable和Comparator详解---java
Comparable和Comparatorjava.lang.Comparable 传入一个对象与自己比较—>内比较器接口中定义的方法:public interface Comparable<T> { public int compareTo(T o);}用Comparable来排序字符import java.util.Collections;import java.util.*;public class ComparableTest01{ publi原创 2020-08-15 16:12:42 · 445 阅读 · 0 评论 -
java模拟实现斗地主(超简单的发牌理牌思路)
java语言模拟实现斗地主用数组以及随机数模拟实现,超简单~~~一、初始化牌众所周知,纸牌共有54张,将这54张牌放入到字符串数组里面,进行初始化操作,注意:这个顺序很重要,后面理牌的时候要用。相当于一个模板 以下是我声明的字符串数组。String[] pai = { "3♠", "3♥", "3♦", "3♣", "4♠", "4♥", "4♦", "4♣", "5♠", "5♥", "5♦", "原创 2020-08-12 12:25:16 · 2050 阅读 · 0 评论 -
java单例模式模拟实现
java 单例模式模拟实现单例模式就是说保证一个类只有一个实例。我们的生活中有很多单例:太阳,地球,皇帝,董事长,女神(baby,你就是我的唯一…)…思路分析:如何能使n对象变成只有1对象?答案其实很简单直接用private关键字来修饰构造方法…目标:一个类只能产生一个实例实例从哪里来?(构造方法,所以要设置构造方法对外不可见)构造方法对外不可见,那怎样创建实例?(谁能产生实例就找谁!只有它自已可以)怎样保证只有一个实例?(静态变量在内存中只有一份,你自已保证你只创建一次就可原创 2020-08-08 10:30:13 · 283 阅读 · 0 评论 -
java中的Iterator接口和Iterable接口
java中的Iterator接口和Iterable接口一、Iterator接口Iterator接口是用来迭代java中的对象。它在java.util包下面。Iterator接口里面必须实现的两个方法是:boolean hasNext();E next();例如:Iterator实现类:package com.iterator;import java.util.Iterator;public class IteratorTest implements Iterator<Obj原创 2020-08-07 19:49:05 · 639 阅读 · 0 评论 -
c语言二维数组和java二维数组的两大区别
c语言二维数组和java二维数组的两大区别1. 存储方式不同直接开门见山c语言:c语言里面的的二维数组存在栈空间中。java:java里面的二维数组存在堆空间中。2. 第二维不同c语言:c语言里面的二维数组的第二维必须是一样的,你可以形象的把它看做是一个由很多小矩形组成的大矩形。java:java里面的二维数组的第二维长度可以是不一样的,也就是说它有可能就不是矩形。...原创 2020-08-07 10:54:30 · 1262 阅读 · 1 评论 -
java-多线程修炼功法(二)
java多线程(二)关于多线程并发环境下,数据的安全问题在多线程并发环境下,数据安全是重点,因为在开发当中实现多线程的概率是比较低的,后期我们的程序是运行在服务器当中,服务器已经给多线程实现了,服务器负责给我们创建线程,包括给我们启动起来。但是一定要谨记,项目开发好以后是要放到多线程的环境下面的,更应该注重的是,这个项目的数据放在服务器这种多线程的环境下是否安全的。1、什么情况下数据在多线程的环境下会存在安全问题?比如下面这个图,假如银行账户里面有10000元钱,然后我(t1线程)从账户里面取出原创 2020-08-06 21:47:33 · 184 阅读 · 0 评论 -
java里面的日历类的用法解析
java中的日历java中的日历类在java.util.Calendar包底下,所以每次在使用的时候都需要导包。日历是一个抽象类,不能实例化,但是可以通过Calendar.getInstance()来创建实例。为什么把这个Calendar声明称抽象的呢,因为这个日历每个国家或者是每个民族的计时方式不一样,或者或宗教信仰不一样的时候时间的计数方法也不一样。所以很难搞,java为我们写好了,只需要直接调用就好了。例如:Calendar calendar1 = Calendar.getInstance(原创 2020-08-03 21:47:28 · 593 阅读 · 0 评论 -
java-多线程修炼功法(一)
java多线程(一)声明:本博客只用于本人笔记,不保证笔记正确性,但欢迎指出错误,如有遇喷子,直接反击加举报~~进程、线程进程是是一个应用程序(1个进程是一个软件)。线程是一个进程中的执行场景/执行单元。一个进程可以是多个线程。例如:对于java程序来说,当在DOS命名窗口中输入:java HelloWorld回车之后。会先启动JVM,而JVM就是一个进程。JVM再启动一个主线程调用main方法。同时再启动一个垃圾回收线程负责看护,回收垃圾。最起码,现在的java程序中至少有两个线程并发,一个是原创 2020-08-01 21:05:38 · 159 阅读 · 0 评论 -
java中StringBuffer和StringBuilder构造方法和方法详解
由于中文API文档翻译不是太好,所以单独拿出来自己搞一遍顺便记录一下,由于他们俩个的方法和构造方法都差不太多,所以就写一块了,反正多数的都通用~构造方法用途和解释StringBuffer()构造一个初始值为""的StringBuffer,初始初始容量为16个字符。StringBuffer(CharSequence seq)根据给定的字符序列(字符串)构建 StringBuffer,初始值是给定的字符序列方法用途于解释StringBuffer appe原创 2020-08-01 14:38:30 · 307 阅读 · 0 评论 -
java中String构造方法以及方法中文详解
StringString字符串,顾名思义,就是很多和字符一个个串起来成为的字符串。它底层是其实就是用char数组,String类被final修饰,所以不能被继承方法/构造方法解释/含义/用法String()创建新String对象,它的初始值是一个空字符 ("" -> new char[]{’’})String(char[] value)创建新String对象,它的值是char数组里面所有的元素拼接而成的一个字符串String(char[] value, int原创 2020-08-01 14:22:19 · 433 阅读 · 0 评论 -
java抽象类和接口的简介和区别
java抽象类和接口抽象类java中的抽象类是一个特殊的类,可以说它的存在就是为了让子类来继承的,既然涉及到继承就证明了抽象类中是有默认的构造方法的。1.什么是抽象类含有抽象方法的类叫抽象类,那什么又是抽象方法呢?抽象方法就是在普通类的基础增加了一个abstract关键字,并且被abstract关键字修饰的方法不能拥有方法体(不能拥有大括号)。因为抽象方法都用abstract修饰,所以抽象方法所在的抽象类也要用abstract来修饰以此来提高抽象方法的清晰度。子类(普通子类)继承抽象父类时必须原创 2020-07-31 10:23:03 · 80 阅读 · 0 评论 -
java静态方法和静态属性到底能不能被继承?
java中的静态方法或是静态属性能不能被继承先来做一个实验//父类class Father{ public static String str = "Father类中的静态属性"; public String s = "Father中的非静态属性"; public static void fun(){ System.out.println("Father类中的静态方法"); } public void f(){ System.out.println("Father中的非静原创 2020-07-29 10:00:48 · 3947 阅读 · 6 评论 -
java构造方法和普通方法区别
java构造方法和普通方法构造方法构造方法也叫做构造器,使用来创建一个实例对象的。1.构造方法必须和类名一致,并且没有返回值public class Test{ public Test(){ }}注意:构造方法没有返回值,所以也就没有return 。2.在实例化对象的时候其实调用的就是构造方法public class Test01{ public Test01(){ System.out.println("构造方法被调用了~~~");原创 2020-07-27 16:26:19 · 3428 阅读 · 0 评论 -
冒泡和选择排序java实现
排序算法(一)java中的关于排序的算法其实直接就可以调用就好了,但是有时候面试的时候还是会用到,所以还是学习一下的比较好~故此记笔记于下:冒泡排序冒泡就是相邻的两个数进行比较,然后将小的数放到前面,大的数放到后面,等第一轮比下来的时候最大的数就到最后面下一次比较就可以不用管它了。就好像水里面的气泡一般,大的气泡总是先冒出来…很难理解?直接看下面的例子。冒泡排序:arr[ 9, 8 ,10 , 7 , 6 , 0 , 11 ]参与排序数据: 9 8 10 7 6 0 11第一次循环:原创 2020-07-23 08:20:39 · 160 阅读 · 0 评论 -
java日期实现和转化
java中日期Date注意要导包!!java中的日期主要是靠Date来获取,观察一下代码:import java.util.Date;import java.text.SimpleDateFormat;public class DateTest{ public static void main(String[] args){ Date d = new Date(); System.out.println(d);//会默认去调用toString()方法 }}运行结果如原创 2020-07-20 19:54:03 · 202 阅读 · 0 评论 -
java匿名内部类
java匿名内部类什么是内部类内部类:在类内部又定义了一个新的类,就被称为内部类。内部类的分类静态内部类:类似于静态变量实例内部类:类似于实例变量局部内部类:类似于局部变量内部类是可以用访问修饰符来修饰的使用内部类编写的代码,可读性很差,所以能不用尽量不用。下面来看看他们怎么写的:public class Day7_18_01{ //该类在类的内部所以被称为内部类 //该类是静态的所以是静态内部类 static class Testt01 { } //该类在类原创 2020-07-18 21:51:23 · 127 阅读 · 0 评论 -
java数组扩容和拷贝
数组扩容和拷贝方法本文主要介绍java提供的是数组拷贝和扩容方法。Arrays.copyOf原数组 = Arrays.copyOf(原数组,要扩容的长度 );废话不多说,直接先上代码:import java.util.Arrays;public class ArrayCopy { public static void main(String[] args) { int[] arr = {1,2,3,4}; System.out.print("扩容前原创 2020-07-18 17:10:03 · 242 阅读 · 0 评论 -
超简单的JDK环境变量配置
感觉基础忘得有点严重,所以从零开始重新复习一遍,或者说是加强一遍~安装JDK我安装的JDK版本是13版本的,直接双击.exe文件一路点击下一步就可以(也就是说安装到了默认的位置)配置环境变量点击我的电脑右键 —> 点击属性 —> 点击高级属性 —> 环境变量选中Path编辑,将java安装目录下的bin路径复制过来,然后点击新建,将路径复制进去就OK比如我的电脑的路径(默认安装位置)就是:C:\Program Files\Java\jdk-13.0.2\bin最原创 2020-07-13 18:49:25 · 708 阅读 · 1 评论 -
JavaWeb学习笔记-----web服务器、Tomcat、HTTP(二)
2、web服务器2.1 技术讲解ASP:微软:国内最早流行在HTML中嵌入了VB的脚本,ASP+COM;在ASP开发中,基本一个页面都有几千行的业务代码,页面及其混乱维护成本高<html> <head> </head> <body> <h1> </h1> ...原创 2020-03-29 19:47:39 · 310 阅读 · 0 评论 -
JavaWeb学习笔记-----基本概念(一)
1、基本概念感谢UP主狂神1.1 前言web开发:web:网页的意思静态webhtml、css提供给所有人看的数据始终不会发生变化动态web淘宝、几乎所有的网站;提供给所有人看得数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!技术栈:servlet/jsp , ASP,PHP在java中,动态web资源开发的技术统称为Javaweb;...原创 2020-03-26 18:27:53 · 167 阅读 · 0 评论 -
Spring:第一个程序、对象创建方式、配置说明
本文转自狂神博客导入Jar包注 : spring 需要导入commons-logging进行日志记录 . 我们利用maven , 他会自动下载对应的依赖项 .<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifac...转载 2020-03-20 16:34:07 · 107 阅读 · 0 评论 -
二、mybatis:CRUD操作
CRUD操作本文参考自狂神博客(点击打开)namespace1.将上面案例中的UserMapper接口改名为 UserDao;2.将UserMapper.xml中的namespace改为为UserDao的路径3.再次测试结论:配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!selectselect标签是mybatis中最常用的标签...原创 2020-03-20 16:32:27 · 85 阅读 · 0 评论 -
三、mybatis配置解析
1.核心配置文件mybatis-config.xmlmybatis 的配置文件包含了会深深影响mybatis行为的设置和属性信息configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境...原创 2020-03-20 16:31:04 · 100 阅读 · 0 评论 -
一、MyBatis:简介、第一个程序
本文参考狂神博客,我的搬博客的时候格式错了,就丢了(点击打开)环境说明:jdk 8 +MySQL 5.7.19maven-3.6.0IDEA学习前需要掌握:JDBCMySQLJava 基础MavenJunitMybatis简介什么是MyBatisMyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程...原创 2020-03-20 16:29:22 · 138 阅读 · 0 评论 -
Hibernate简单模板代码~
hibernate概念:hibernate是一个开放源代码的对象关系映射框架,封装了JDBC的持久化框架,是用来操作数据库的。它把数据库中的表,转换成java类,通过xml文件来实现类和表之间的映射。这样的好处在于,可以用面对对象的思想来操作数据库~,它可以自动生成SQL语句,自动执行。下面是我写的模板:先生成一个Student类;package cn.edu.hpu.entit...原创 2018-08-21 20:40:24 · 864 阅读 · 0 评论 -
JDBC连接数据库
JDBC是由java编程语言编写的类及接口组成,同时它为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言。利用JDBC可以将JAVA代码连接到oracle、DB2、SQLServer、MYSQL等数据库,从而实现对数据库中的数据操作的目的。一、JDBC简介JDBC全称为:Java Data Base Connectivity (java数据库连接),可以为多种...转载 2018-08-01 17:28:06 · 375 阅读 · 0 评论 -
JDBC连接MySQL数据库
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。一、JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更...转载 2018-08-01 16:51:57 · 307 阅读 · 0 评论