自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sql日常笔记

1,使用聚合函数,group_concat 此函数必须和 group by 函数匹配使用group_concat(x, y) x 是要聚合的字段,y 是分割符号,可以不写,默认是逗号。2,3,

2022-02-19 09:43:01 348

转载 进程间的通信

管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。共享存储SharedMemory:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程

2022-02-14 17:38:20 85 1

原创 SQL39 针对salaries表emp_no字段创建索引idx_emp_no,查询emp_no为10005,使用强制索引。

描述针对salaries表emp_no字段创建索引idx_emp_no,查询emp_no为10005,使用强制索引。CREATE TABLE salaries (emp_no int(11) NOT NULL,salary int(11) NOT NULL,from_date date NOT NULL,to_date date NOT NULL,PRIMARY KEY (emp_no,from_date));create index idx_emp_no on salaries(emp_n

2021-12-16 16:17:28 937

原创 SQL51 查找字符串中逗号出现的次数

描述现有strings表如下:id指序列号;string列中存放的是字符串,且字符串中仅包含数字、字母和逗号类型的字符。请你统计每个字符串中逗号出现的次数cnt。以上例子的输出结果如下:string长度减去 将逗号替换为空字符串的长度 即是 逗号数量select id, LENGTH(string) - LENGTH(replace(string, ',','')) cnt from strings;...

2021-12-16 16:09:05 1365

原创 SQL40 在last_update后面新增加一列名字为create_date

描述存在actor表,包含如下列信息:CREATE TABLE actor (actor_id smallint(5) NOT NULL PRIMARY KEY,first_name varchar(45) NOT NULL,last_name varchar(45) NOT NULL,last_update datetime NOT NULL);现在在last_update后面新增加一列名字为create_date, 类型为datetime, NOT NULL,默认值为’202

2021-12-16 15:42:21 119

原创 线程的5种状态

新建状态:新创建一个线程对象,当用new操作符创建一个线程时。此时程序还没有开始运行线程中的代码。就绪状态:一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法即启动了线程,start()方法创建线程运行的系统资源,并调度线程运行run()方法。当start()方法返回后,线程就处于就绪状态。处于就绪状态的线程并不一定立即运行run()方法,线程还必须同其他线程竞争CPU时间,只有获得CPU时间才可以运行线程。因为在单CPU的计算机系统中,不.

2021-12-13 18:26:06 334

原创 java 中 创建线程的3种方式

线程的创建方式1、继承Thread类实现多线程(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建了线程对象。(3)调用线程对象的start()方法来启动该线程。2、覆写Runnable()接口实现多线程,而后同样覆写run()。推荐此方式1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方法的方法体同样是该线程的线程执行体。(2)创建 Run

2021-12-13 18:19:10 203

原创 进程 和 线程的的区别

1,进程含义:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。2,线程含义:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。3,根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。4,内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。5,一个线程只能属于

2021-12-13 18:11:04 461

原创 Java中的String,StringBuilder,StringBuffer三者的区别

1,三者都是用于处理字符串的。2,共同处:都是final类,不允许被继承。StringBuffer与StringBuilder两者共同之处:可以通过append、indert进行字符串的操作。3,不同点:(1),首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String;String最慢的原因:String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之

2021-12-13 17:39:20 541

原创 SQL77 牛客的课程订单分析(一)

第2行表示user_id为230173543的用户在2025-10-12的时候使用了client_id为2的客户端下了Python课程的订单,状态为购买成功。最后1行表示user_id为557336的用户在2025-10-24的时候使用了client_id为1的客户端下了Python课程的订单,状态为没有购买成功。请你写出一个sql语句查询在2025-10-15以后状态为购买成功的C++课程或者Java课程或者Python的订单,并且按照order_info的id升序排序,以上例子查询结果如下:解法

2021-12-10 20:19:17 1300

原创 SQL66 牛客每个人最近的登录日期(一)

描述牛客每天有很多人登录,请你统计一下牛客每个用户最近登录是哪一天。有一个登录(login)记录表,简况如下:第1行表示user_id为2的用户在2020-10-12使用了客户端id为1的设备登录了牛客网第4行表示user_id为3的用户在2020-10-13使用了客户端id为2的设备登录了牛客网请你写出一个sql语句查询每个用户最近一天登录的日子,并且按照user_id升序排序,上面的例子查询结果如下:查询结果表明:user_id为2的最近的登录日期在2020-10-13user_id

2021-12-10 20:07:16 937

原创 get,post区别

(1),get的url有用户名和密码,post的没有,更安全一点。(2),Get---->-》通过url传递参数,url和参数之间用?隔开,参数之间用&隔开;-》会将传输的数据显示在url中,不安全;-》传输的数据量小,主要是因为url的长度受限制;-》get一般用于直接获取数据,提高查询速度;post---->-》post的·数据在请求体内,不显示,所以安全;-》post对上传数据的大小不限制,文件上传用post;-》post适合用于增删改操作,因为快;...

2021-09-05 20:45:10 48

原创 servlet(介绍)

(1,前后交互2,通过jdbc链接数据库3,业务处理)MVC,—》1,controller 2,service 3,jdbc1,Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。2,使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。3,404—>代表url写错了,找不到;4,根据注解@WebSer

2021-09-05 20:44:14 67

原创 输出顺序(静态块,非静态块)

我是静态块P我是静态块K(1,静态块只执行一次初始化,后边就不再执行)(2,所有静态块,静态属性的执行只能由当前类的第一个对象触发执行)我是非静态块R我是非静态块U(属性和非静态块是同等级别的,谁排在上边谁先输出;)我是构造方法w...

2021-09-05 20:42:26 76

原创 DOS操作系统常用快捷键

dir - 查看当前目录下的子目录以及文件cd - 进入目录cd目录名 - 向下进入某个目录cd … - 向上返回上层目录、cd …/目录名 - 返回上层目录并进入同级某个目录cd / - 返回所在磁盘的根目录mkdir(md) - 创建目录rd - 删除目录copy con 文件名 - 创建文件ctrl+c (记得按回车)结束创建文件del文件名 - 删除某个文件tab键 - 目录名自动补全上下键 - 查看使用过的命名盘符名称 : - 切换某个磁盘shift+右.

2021-09-05 20:39:22 254

原创 计算器java代码

加法计算器public class Test{ public static void main(String[] aa){ Scanner x=new Scanner(System.in); System.out.println("加法计算器,请输入要计算的数字个数:"); int x1=x.nextInt(); System.out.println("请输入要计算的数字:"); int sum=0; for(int i=0;i<x1;i++){ su

2021-09-05 20:37:37 101

原创 Spring Mvc 注解

1,路径都写在了 @RequstMapping里;2,@Resource @Autowired @Qualifier 三个注解的区别与联系(1).@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入。(2). @Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用。(3). @Resource注解是又J2EE提供,而@Autowired是由spring提供,故减少系统对spring的依赖建议使

2021-08-26 15:33:41 86

原创 八大排序代码

1,冒泡排序for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++) { if(arr[j+1]<arr[j]) { int t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } }2,插入排序public static void ins

2021-08-26 15:30:22 120

原创 java关键字总结

一,this关键字-----永远代表当前对象;1,this属性名———一个方法当中,当全局变量和局部变量重名的时候,this关键字用来区分全局变量和局部变量;2,this方法名———让类中一个方法调用类当中另外一个方法;(static->值是当前类;this->值是当前对象);3,this()———this访问本类的构造器;(1)不能在普通方法中使用,只能在构造方法中使用;普通方法不能调用构造方法,因为对象是调用普通方法的主体,没人指向;(2)this()在构造方法中只能是第一

2021-08-26 15:20:16 51

原创 java异常体系

1,400:url地址错误2,500:服务器内部错误3,Error:jvm虚拟机出的错误,并且Throwable不可抛出。死循环错误-----死循环导致栈溢出。StackOverflowError------堆内存满4,Exception:异常,本身程序可以处理的错误,并且throwable可抛出。比如:数组越界,ArrayIndexOutOfBoundsException可以用try catch解决。4,1 运行时异常程序在运行期间发生的某些异常,一般情况下是由于某些逻辑错误引起的,

2021-08-26 15:15:39 76

原创 反射相关内容

1,什么是反射servlet servlet启动机制 doget/dopost反射的核心就是在程序运行时动态的加载类,并获取类的信息。2,三种加载方式:(1)class.forName(“全类名”):将字节码文件加载进内存,返回给class对象。(2)类名.class: 通过类名获取class对象 —》一般知道类名才使用(3)对象.getClass: 运行时阶段,—》当成参数传递。class1 == class2 == class3说明同一个类只能被加载一次;3,ge

2021-08-26 15:13:53 41

原创 抽象类相关内容

1,抽象将相同且不确定的东西提取出来。2,抽象类(1),用abstract修饰的类叫做抽象类。(2),用abstract修饰的方法叫做抽象方法,抽象方法必须在子类中重新并实现;若父类中抽象定义了show方法,那么其子类也必须实现show方法。(3),只有抽象类当中才会有抽象方法;(4),抽象类不能被实例化,所谓的类的实例化就是new内存空间。========9 (5),抽象类可以使用多态;(6),抽象类当中可以写普通方法;(7),final 和 abstract 不能同时使用,final修

2021-08-26 15:09:34 108

原创 各个修饰符的访问权限

修饰符 当前类 同包 子类 其他包public y y y yprotected y y y nprivate y n n n不写

2021-08-26 15:05:29 42

原创 128陷阱

举例说明Integer num1 =100;​ Integer num2 =100;​ System.out.println(num1num2);​ Integer num3 =200;​ Integer num4 =200;​ System.out.println(num3num4);输出:true false原因:因为自动装箱,会执行:Integer num2 =Integer.valueOf(100);valueOf里边有一段代码为:public static

2021-08-26 14:58:26 29

原创 字符串常量池

1,引进的代码:String s1=“123”;​ String s2=“123”;​System.out.println(s1s2);2,概念字符串常量池是java的一项技术,从字面意思理解就是把经常用到的数据存放到某一内存当中,避免频繁的数据创建和销毁,实现数据的共享,提高系统性能。3,例子String s1=“123”;String s3=“1”;String s4=“23”;String s5=s3+s4;System.out.println(s1s5);拼接结果fals

2021-08-26 14:50:54 79

原创 java简答总结(一)

一·,java跨平台优势跨平台,是class的跨平台,一次编译到处运行,跨平台原理是:不同的操作系统上安装了相同的JVM虚拟机,共用一个JVM虚拟机;不同的平台里,执行相同的代码,指令可能不同;而java跨平台,可以解决这个问题。二,数据类型1,基本数据类型2,引用数据类型在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。对

2021-08-26 14:37:01 45

原创 2021.7.5总结

一,为什么byte类型127+1是 (-128)需要分成两个问题来回答,1,为什么会出现补码;2,为什么byte类型127+1是 (-128)(1),因为计算机只有加法没有减法,在做减法运算的时候,可以认为是加上一个负数。使用原码进行减法运算会出现问题,例如计算1-1,因为计算机有加法没有减法,所以计算机自动换算成1+(-1)1-1=1+(-1)=[00000001]原+[10000001]原=[10000010]原=-2 (符号位也参与运算),运算错误;为了解决源码相减不等于0的问题,出现了反码,

2021-07-05 22:42:18 29

空空如也

空空如也

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

TA关注的人

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