自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图片后缀a

图片

2023-03-01 16:57:54 117

原创 简单的BeanFactory

实例化对象不需要用new,使用反射技术可以完成对象的实例化。在xml文件中配置要实例化对象的全限定类名name以及唯一标识符name。实例化完成之后需要需要维护对象之间的依赖关系,可以检查bean中是否有property对象。如果有就需要进行传值,可以使用set方法进行传值<?xml version="1.0" encoding="UTF-8" ?><!--跟标签beans,里面配置一个又一个的bean子标签,每一个bean子标签都代表一个类的配置--><beans&

2021-08-17 18:33:34 181

原创 JWT学习

public void create(){ Calendar instance = Calendar.getInstance(); instance.add(Calendar.SECOND, 100); String token = JWT.create() .withClaim("username","xiaohu")//payload .withExpiresAt(instance.g...

2021-08-10 22:08:31 124

原创 SpringBoot整合redis

配置文件#Redis服务器地址spring.redis.host=121.4.189.51#Redis服务器连接端口spring.redis.port=6379#Redis数据库索引(默认为0)spring.redis.database= 0#连接超时时间(毫秒)spring.redis.timeout=1800000#连接池最大连接数(使用负值表示没有限制)spring.redis.lettuce.pool.max-active=20#最大阻塞等待时间(负数表示没限制)spring

2021-07-21 11:26:34 104

原创 ForkJoinPool实现数字之和

public class ForkJoin2 { public static void main(String[] args) { ForkJoinPool forkJoinPool = new ForkJoinPool(); Scanner scan = new Scanner(System.in); int n = scan.nextInt(); Integer invoke = forkJoinPool.invoke(new My

2021-05-07 16:48:21 135

原创 请求重定向和请求转发

请求重定向一.特点地址栏发生变化发生两次请求不共享Request域中的数据不能访问WEB-INF下的资源可以访问工程外的资源二.代码方法一 //1.设置响应状态码 resp.setStatus(302); //2.设置响应头,说明新的地址 resp.setHeader("Location","http://localhost:8080/HYK/respon2");方法二 resp.sendRedirect

2021-01-23 13:03:54 122

原创 实现增删改查的封装

获取数据连接不使用Druid封装package Utils;import java.io.FileInputStream;import java.io.IOException;import java.sql.*;import java.util.Properties;/** * 封装JDBC工具类 * 功能: * 1.获取连接 * 2.释放资源 */public class JDBCUtils { static String url; static String

2021-01-22 16:19:59 294

原创 请求的HTTP协议格式

Get请求一 .请求行请求的方式请求的资源路径请求的版本协议号二.请求头(需要记住的)Accept:客户端可以接受的数据类型Accept-Language:客户端可以接受的语言类型User-Agent:浏览器的信息Accpect-Encoding:客户端可以接受的编码格式Host:表示请求的ip和端口号Connection:告诉服务器请求连接如何处理 Keep-Alive:通知服务器回传数据不要马上关闭,保持一小段的连接 Closed:马上关闭Pos

2021-01-19 11:22:25 203

原创 线程池的各个参数含义

public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> wo...

2021-01-17 16:06:01 262

原创 HttpServlet常用方法

获取请求的资源路径 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("URI :" + req.getRequestURI());//获取请求的资源路径 }获取请求统一资源的定位符 @Override protected voi

2021-01-02 16:02:10 471

原创 Servlet初步认识

Servelet介绍:1、Servlet 是 JavaEE 规范之一。规范就是接口2、Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。3、Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。实现Servlet1、编写一个类去实现 Servlet 接口2、实现 service 方法,处理请求,并响应数据3、到 web.xml 中去配置 servlet

2020-12-28 14:52:56 1472

原创 解决线程安全问题

1. 同步代码块 synchronized(锁对向){ 可能出现线程安全问题的代码块 } 注意: 1. 通过代码块中的锁对象,可以使用任意的对象 2. 必须保证多个线程使用的锁对象是同一个 3. 锁对象的作用:把同代码块锁住,只让一个线程在同步代码块中执行 private int n = 100; Object obj = new Object(); @Override public void run() {

2020-12-26 13:43:31 116

原创 Thread常用方法

获取当前线程名字getName @Override public void run() { //获取线程名字 方法1 String name1 = getName(); System.out.println(name1); //方法2 Thread thread = Thread.currentThread();//静态方法,直接使用类名调用 String name2 = thread.getName(

2020-12-25 19:15:56 183 1

原创 多线程内存图理解

public class myThread extends Thread{ @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println("run" + i); } }}public class DemoThread { public static void main(String[] args) {

2020-12-25 12:14:22 95

原创 向上转型和向下转型

向上转型对象的向上转型就是多态写法格式:父类名称 对象名 = new 子类名称();含义:右侧创建一个子类的对象,把他当做父类来看待使用注意:向上转型一定是安全的。从小范围到大范围。对象一旦向上转型成父类,那么就无法调用原本子类特有的方法。向下转型对象的向下转型是一个还原的过程格式:子类名称 对象名 = (子类名称)父类对象;含义:将父类对象还原成本来的子类对象...

2020-12-11 16:38:15 197

原创 内部类

分类1.成员内部类定义在一个类的内部2.局部内部类定义在一个方法的内部成员内部类定义格式成员内部类:class 修饰符 外部类名称{class 修饰符 内部类名称{}}注意:内用外:随意访问外用内:需要内部类对象生成的class文件:外部类名称$内部类名称使用方法1.间接方式:在外部类的方法中使用内部类2.直接方式:外部类名称.内部类名称 对象 = new 外部类名().内部类名称();当变量出现重名时:class Out{ int num = 10;//外部

2020-12-11 16:23:20 96

原创 匿名对象

正常创建对象:类名 对象名 = new 类名();匿名创建对象:new 类名();匿名对象只能使用唯一的一次。

2020-12-11 15:25:25 91

原创 选择排序(JAVA)

一 思路假设给定数组arr如下,以从小到大排序为例第一轮排序1.寻找数组中最小的最小值,记录最小值得下标为index,最小值为min2.将arr[ 0 ]与最小值进行交换结果:index为8,min为1 int minIndex = 0; int min = array[0]; //寻找数组中的最小值,并且将最小值赋值给min,最小值下标记录为index for (int i = 0; i <= array.length - 1; i++

2020-11-23 22:05:38 154

原创 数据库基本语法一

一 对数据库的操作show databases;显示当前的数据库create database [ if not exists] 数据库名 ; 创建数据库use 数据库名; 使用数据库drop database [ if exists ]; 删除数据库二 对表的操作desc 表名; 查看表结构create table [ if not exists ]表名(名称 数据类型 [ comment ‘注释’ ],名称 数据类型 [ comment’注释’ ] ); 创建表drop table

2020-11-17 16:06:23 241

原创 类与接口的关系(java)

2020-11-11 16:09:16 131

原创 稀疏数组

一、稀疏数组的产生当一个数组中大部分的值是0或者是一样的值的时候,就可以使用稀疏数组来保存该数组。二、稀疏数组的处理方法记录原数组有几行几列以及多少个值将不同值的行列以及值大小记录在一个小规模数组中例如:下图中的二维数组转换成稀疏数组假设原始数组为Array,该稀疏数组表示的含义是:Array共有10行10列,有两个非0值。且Array[ 1 ][ 1 ] == 1; Array[ 2 ][ 2 ] == 2;三、将二维数组转化为稀疏数组思路:1.遍历二维数组,得到有效数据su

2020-09-09 11:17:18 99

原创 初识异常

一、异常的背景所谓异常指的就是程序在 运行时 出现错误时通知调用者的一种机制。二、防御式编程错误在代码中是客观存在的. 因此我们要让程序出现问题的时候及时通知程序员. 我们有两种主要的方式:LBYL: Look Before You Leap. 在操作之前就做充分的检查。EAFP: It’s Easier to Ask Forgiveness than Permission. “事后获取原谅比事前获取许可更容易”. 也就是先操作, 遇到问题再处理。三、异常的基本用法try{ 有

2020-08-07 21:16:10 108

原创 关于String类型

一、String类介绍1.可以看出String是被final所修饰,继承Object(所有的类都默认继承Oject类)2.常见的定义方法 //第一种方法 String str1 = "abcd"; //第二种方法 String str2 = new String("abcd"); //第三种方法 char[] value = {'a','b','c','d'}; String str3 =

2020-08-07 18:59:00 242

原创 单链表常见问题

一、给定一个链表,返回链表开始入环的第一个结点,如果链表没有环返回null思路:定义两个节点fast和slow,fast每次走两步,slow走一步,如果fast和slow相遇,则说明链表有环。如果有环,则说明(X表示起点到环的起点的距离,L表示环的起点到相遇位置的距离,C表示一圈的长度)1.fast所走的路程是slow的二倍。2.slow所走的路程是X + L。3.fast所走的路程是X + L + C。可以推导出 2(X+L) = X + L +C,即X = C - L。当他们相遇时,将sl

2020-08-04 14:20:03 858

原创 This is this

关于this的定义:关于this的具体定义,大部分说是this代表的是当前的对象,但是其实这么说是不准确的。首先要知道对象是怎么产生的:对象的产生分为两步: 1 为对象分配内存 。2 调用合适的构造方法 ,调用完构造方法后,对象才真正的存在。再看以下代码class Person{ String name; int age; public Person(String name, int age, String telNum){ this.name = nam

2020-07-25 21:06:55 102

原创 汉诺塔Tower of Hanoi

相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。

2020-07-22 21:54:31 244

原创 数据类型转换

不同的基本数据类型转换在计算数据的时候,往往会有不同的数据类型进行转换,不同的数据类型计算的时候就会发生整型提升,即所占字节数小的会提成成所占字节数大的和精度小的会提升成精度大的。整形数据类型之间的转换 int a=10; long b=20; int c =a+b;由于java的安全性,在编译的时候会进行报错。是因为long占8个字节而int之占4个字节,所以a发生了整形提升,即a+b其实是两个long类型的数据相加放到int类型数据当中,所以会出错。正确的做法是将a+

2020-07-17 15:11:02 653

原创 有手就行:教你3秒内完成进制转换

1首先在键盘上点击win+r结果如下:2 输入calc打开计算机3 点击查看设置成为程序员4 接下来就可以计算:例如想求二进制1111 1111选中二进制然后输入1111 1111在选中十进制即可查看

2020-07-16 15:22:38 777

原创 找不同:Java与c语言的数据类型

java的基本数据类型一 整型数据类型1 int类型:与c语言大致一样,但是java中int所占字节是4,c语言中由于系统的不用,在32位系统中占占用2位,在64位系统中占4位。public static void main1(String[] args) { //输出int的最大值和最小值 System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); }2 long类型:与

2020-07-16 14:21:59 841

原创 字符串常用函数2

字符串拷贝:char * strncpy ( char * destination, const char * source, size_t num );可以将任意长度进行拷贝 const char *str1 = "abcdefg"; char dst[32] ; strncpy(dst, str1, strlen(str1) + 1);//将'\0'拷贝进去 printf("%s\n", dst);

2020-06-17 18:04:41 129

原创 字符串常用函数介绍1

1.求字符串长度函数:size_t strlen ( const char * str ); const char *str = "abcdef"; int len = strlen(str); printf("%d\n", len);2.字符串拷贝函数:char * strcpy ( char * destination, const char * source ); const char *str1 = "abcdef"; char dst[32]; strcpy(dst, str1)

2020-06-17 13:58:24 193

原创 杨辉三角形(YangHuiTriangle)

杨辉三角形思路:首相定义一个二维数组,将二位数组的内容初始化为1。再将一半打印出来。以10*10为例然后在根据杨辉三角的特点,从第三行第二列开始将数字改变。每一个数字都是上一行的同一列的数字与上一行前一列的数字之和。以第三行第二列为例:arr[ 2 ][ 1 ]=arr[ 1 ][ 1 ]+arr[ 1 ][ 0 ]参考代码:` int arr[10][10];int i = 0;int j = 0;for (i = 0; i < 10; i++){for (j = 0; j <=

2020-05-25 12:30:49 381

原创 三子棋游戏

三子棋游戏1 准备工作需要头文件以及函数的引用#include <stdio.h>## #include <stdlib.h> #include <time.h> #include <windows.h> #pragma warning(disable:4996) #define ROW 3 #define COL 3 #define BLACK_PIECE 'X' #define WHITE_PIECE 'O' void Game(); void In

2020-05-19 12:29:33 125

原创 2020-04-01

学习了快一个礼拜了,这是第4次学习c语言了,第一次第二次学习的时候不懂得地方很多很多,尤其是第一次,第二次学习好像是为了应付考试,突击了一下,真正开始认真学习是在第三次,当时就感受到了c语言的奥妙,并且对c语言产生了兴趣,于是就越来越喜欢c语言并且想学好。这是第四次学习,目前已经把c语言的知识点复习了一遍,下来就是地毯式的复习,将各个小知识点都过一遍,在接下来的一个多月内,将会彻底把c语言学精。这...

2020-04-01 20:36:56 124

原创 2020-03-26

我是来自西安工程大学的一名学习软件工程专业的大二学生,从今天开始也就正式入驻在CSDN中了,也希望能通过这个软件了解更多关于IT的知识,让自己成为一个优秀的程序员。目前是大二,才开始慢慢了解这个专业,慢慢的深入学习,等到自己的专业知识学习的差不多了,也就是大三左右,会定下自己的人生目标,慢慢的计划着未来。现在的任务就是要努力掌握老师所讲的知识,争取一次性听明白,尽早学会应用,也要积累一些学校外的...

2020-03-26 14:58:03 160

空空如也

空空如也

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

TA关注的人

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