自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 通用的解决乱码问题(很强大)利用过滤器实现

在一些请求中出现了乱码问题,并且简单的setCharacterEncoding() 等方法和配置web.xml底层提供的过滤器也无法解决时,我们可是使用如下代码解决package com.kunag.filter;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;import javax.servlet.h

2021-07-06 21:39:00 161

原创 spring结合mybatis的配置与使用

1.配置pom.xml文件 导入依赖包 这里要注意的是spring操作数据库需要用到spring支持的jdbc包 还有mybatis和spring的包 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version&

2021-07-06 16:15:53 166

原创 srping的文件配置与基本使用

Spring是一个轻量级的开源框架,是为解决企业级应用开发的复杂性而创建的,通过核心的Bean factory实现了底层的类的实例化和生命周期的管理。简单来说就是把创建对象的权力交给IOC容器管理,把复杂的依赖关系解耦出来,简化java程序的开发。配置spring文件的基本步骤为如下:首先:需要创建maven工程并导入spring所需的依赖包(配置pom.xml文件)<dependencies> <!-- https://mvnrepository.com/artif

2021-07-05 10:06:59 195

原创 mybatis的文件配置与使用

MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架,使用mybatis框架能让我们更容易的访问数据库的DAL(数据访问)层。mybatis使用的配置步骤1.创建一个maven工程2.配置pom.xml文件 导入依赖资源包需要导入的jar包有mysql,mybatis 两个基础jar包 mysql 包用于连接数据库操作,版本可以根据本机安装的mysql版本选择,mybatis框架顾名思义也需要mybatis包,版本可以选用最新的版本,因为mybatis包一般都有很强大的向下兼容性

2021-07-04 18:55:25 219

原创 为什么要模上1000000007

为了防止数据溢出1000000007是10位数最小的质数int32位的最大值为2147483647,所以对于int32位来说1000000007足够大,只有模以1000000007才能保证得出的结果在int方位内所以在大的阶乘或者斐波那契数列中经常需要模上1000000007才能的出正确的结果...

2021-06-08 15:45:30 555

原创 KMP算法

字符串的匹配查找中 使用暴力匹配算法的性能太差,回溯的代价太大。这时我们可以使用KMP算法KMP算法的核心在于部分匹配值(next数组)的查找,next数组主要用来保存子字符串中前缀表达式和后缀表达式中最长的公共子序列长度。字符串的前缀表达式和后缀表达式:例如AAABA前缀表达式为 A , AA , AAA , AAAB后缀表达式为 AABA , ABA , BA , A他们的公共的最长子序列为2前缀指针 i=1; 后缀指针 j=0; (可以对应代码理解)如果指针对应的字符相等时

2021-06-08 11:35:44 46

原创 js原生ajax的使用

当我们需要更新某一页面中的某一部分数据,如果我们刷新整个页面,就会使得用户得不到良好的体验,这是我们可以使用ajax技术。ajaxAsynchronous JavaScript and XML(异步的 JavaScript 和 XML)。又称局部刷新技术,可以在不加载整个页面的情况下于服务器交换数据。属于异步请求,不会影响前台页面常用方法:open(method,url,async);method:请求的类型;GET 或 POST;url:文件在服务器上的位置;async:true(异步)或 fals

2021-06-07 13:18:32 115 1

原创 服务器端解决HTTP协议无状态问题

Servlet中点击流的统计:servlet属于单例实例用于统计点击次数的变量设置为全局变量,那么不同的浏览器访问相同网页的点击数就会叠加,这样的统计不准确然而设置为局部变量的话,每次请求都会重新赋值,无法保存上一次的请求信息,起不到累计统计的效果,这就是http的无状态这时使用访问状态管理的效果时最佳的即:tomcat提供了存储机制(seesionid机制) 每个浏览器访问请求都会在服务器里开辟一个空间存储计量变量(相当于一个map)这里的空间容器会给浏览器一个seesionid用于识别, 如

2021-06-05 12:00:02 128

原创 Integer类中numberOfLeadingZeros() 二进制返回无效位0的个数解读

Integer中输出有效位的解读:

2020-12-30 11:57:39 205

原创 FileInputStream文件输入流的资源利用情况

FileInputStream流读取数据时出现资源浪费的情况:①资源不浪费的情况public class FileInput_Test { public static void main(String[] args) throws IOException { InputStream iis=null; try { File f = new File("\\d:\\a.txt"); iis = new FileInpu

2020-12-30 10:33:26 136

原创 String类中indexOf(int ch)方法形参的详解

String 类中的indexof(int ch)方法的形参列表为什么采用int型而不采用char型?涉及到了增补字符,因为char型只有65536个字符,不能表示完所有的字符还有一些诸如"火星文"的未知字符,因此用char型来表示是完全不够的,而int类型的范围是- 2 ^ 31 ~2 ^ 31 - 1,足够用来表示已知和未知的字符,并且int跟char海涉及到隐式字符转换,这样用int作为形参不仅没有多费功夫还扩大了indexof的涵盖范围。例如:public class Indexof_Test

2020-12-20 17:22:35 979

原创 向下转型的注意事项与instanceof的使用

向下转型的注意事项:在对象向下转型中,父类实例是不可能强制转换成任意子类实例,必须先通过子类实例化,利用向上转型让父类对象与具体子类实例发生联系后才可以向下转型,否则将出现ClassCastException异常。instanceof 的使用:instanceof 的左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false。用instanceof时需注意向下转型的注意事项,否则即使时父子类关系仍会返回false如下所测:class Person{ pub

2020-12-09 19:47:31 293

原创 单例模式

单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。具体的实现方法:一,是单例模式的类只提供私有的构造函数, 二,是类定义中含有一个该类的静态私有对象,三,是该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。使用场景:对象需要频繁的实例化和销毁,此时考虑使用单例可以大大的提高性能优点:1.由于只有一个实例对象,所以占用内存很少2.对象不用重复new了,当然于解放了对资源

2020-12-07 20:55:56 57

原创 底层ArrayList的简单模拟实现

模拟底层动态数组的简单实现由于静态数组的长度一旦初始化就无法改变,这就容易导致栈溢出,我们想要增加数据的时候修改就会过于繁琐。动态数组的出现是我们更容易对已有的数组进行 增,删,改,查 操作。public class YcList { private Object[] data;//定义对象数组 private int length;//数组实际的存储个数 //用无参构造器初始化数组长度默认为10 public YcList(){ this.data

2020-11-30 11:24:42 82

原创 排序--选择排序算法

算法描述:在数组中找到最小的元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找次小元素,然后放到已排序序列的下一个位置。重复以上步骤,直到所有元素均排序完毕。/** * 选择排序 * @author CH */public class Select { public static void main(String[] args) { int[] arr =new int[]{6,3,5,7,6,1,9,8,4}; int[] a=sort(ar

2020-11-29 21:26:20 42

原创 回文数

import java.util.Scanner;public class PalindromeTest { public static void main(String[] args) { PalindromeTest test =new PalindromeTest(); test.Palindrome(); } public void Palindrome() { Scanner sc =new Scanner(System.in); System.out.println(

2020-11-11 21:29:35 318 1

原创 希尔排序

希尔排序是插入排序的提升,他的实质就是分组插入排序它适用于数据量较大,和情况比较复杂的排序希尔排序的核心就是提供一个增量来控制数组的分组和循环public class Shell { public static void main(String[] args) { //创建对象 Shell shell=new Shell(); //调用方法 shell.sort(); } /** * 核心算法 */ public void sort() { int[] arr=ne

2020-11-11 19:51:02 176 2

原创 简单的直接插入排序

直接插入排序,适用于数据量较小且比较有序的数据public class Insert { public static void main(String[] args) { Insert insert =new Insert();//创建对象 insert.sort();//调用sort方法 } /** 算法核心 */ public void sort() { int[] arr=new int[]{9,3,6,2,5,3,4,6,5};//要进行排序的数组 int i,

2020-11-11 19:41:47 83

原创 if分支语句实现输入成绩输出等级

import java.util.Scanner;//导包/* * 5,给定一个百分制的分数,输出相应的等级。 90 分以上 A 级 80~89 B 级 70~79 C 级 60~69 D 级 60 分以下 E 级 */public class Test07 { public static void

2020-10-19 18:45:57 3698

原创 1到100之间奇数的求和

在这里插入代码片/* * 6,编写程序求 1+3+5+7+……+99 的和值 */public class Test08 { public static void main(String[] args) { int sum=0; for(int a=0;a<100;a++) { if(a%2!=0) { //对2求余不等于0的为奇数 sum+=a; } } System.out.println(sum); }}结果为2500Java小白 仅

2020-10-19 18:38:48 3113

原创 JAVA冒泡排序

JAVA 从键盘输入一维数组,用冒泡排序从小到大排序在这里插入代码片import java.util.Scanner;//导包/** * 从键盘上输入一维数组 * 用冒泡排序实现数组从小到大的排序 * @author * */public class Bubb01 { public static void main(String[] args) { //创建一维数组 int [] arr = new int [5];//长度可修改 //创建输入对象 Scanner sc

2020-10-18 14:05:55 221 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除