自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 maven依赖范围

maven依赖范围既标签的可选配置:compile、test、provided、runtime、system1)编译依赖范围(compile),该范围就是默认依赖范围,此依赖范围对 于编译、测试、运行三种classpath都有效,举个简单的例子,假如项目中有spring-core的依赖,那么spring-core不管是在编译,测试,还是运行都会被用到,因此spring-core必须是编译范围(构件默认的是编译范围,所以依赖范围是编译范围的无须显示指定)2)测试依赖范围(test),顾名思义就是针对于测

2021-06-30 19:50:38 132

原创 百钱买百鸡

问题描述:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?问题分析:解决此问题,我们可以运用方程进行解答。设鸡翁、鸡母、鸡雏的个数分别为:x,y,z则有:x+y+z=100;5x+3y+(1/3)z=100;联立方程的到:7x+4y=100--------->y=(100-7x)/4且x的范围为:0<=x<=14;0<=y<=25public class BuyChicken { public static void main(St

2021-05-19 17:40:52 113

原创 spring框架

spring核心功能:1.loC(控制反转):将对象的管理权限交给spring容器,管理生命周期2.DI(依赖注入):管理IoC容器中对象的依赖关系3.AOP(面向切面的编程):对面向对象的补充,解决系统级别的非核心功能耦合度问题4.整合其他框架注册对象到spring容器中(IoC容器),受spring管理,默认情况下,注册对象为单例(全局对象唯一)class:对象的全限定类名,会自动创建对象id:当前对象的名称,不能重复,外界通过id获取到该对象,不能有特殊字符<beab id

2021-05-19 16:42:45 78

原创 明明的随机数

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据(用于不同的调查),希望大家能正确处理)。注意:输入可能有多组数据(用于不同的调查)。每组数据都包括多行,第一行先输入随机整数的个数N,接下来的N行再输入相应个数的

2021-05-12 16:08:38 54

原创 mybatis中select元素的属性

属性描述id在命名空间中唯一的标识符,可以被用来引用这条语句。parameterType将会传入这条语句的参数的类全限定名或别名。这个属性是可选的,因为 MyBatis 可以通过类型处理器(TypeHandler)推断出具体传入语句的参数,默认值为未设置(unset)。resultType期望从这条语句中返回结果的类全限定名或别名。注意,如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身的类型。resultType 和 resultMap 之间只能同时使用一...

2021-05-10 16:52:18 3112

原创 线程的休眠

Sleep()sleep()方法可以实线程休眠一段时间,单位是毫秒。例如:利用线程休眠绘制直线public class SleepMethedTest extends JFrame { private Thread t; private static Color[] color = { Color.BLACK, Color.BLUE, Color.CYAN, Color.GREEN, Color.ORANGE, Color.YELLOW, Color.RED, Color.PINK, Col

2021-04-09 21:49:41 73

原创 取近似值

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。首先通过字符串中indexOf()方法将输入的数字中‘.’的下标找出通过substring()方法将‘.’前后的子字符串进行获取通过parseInt将字符串转化为int性将‘.’后的内容与5进行比较import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;

2021-04-04 22:05:15 64

原创 数据库连接池

//数据库连接池public class JDBC6 { public static void main(String[] args) throws Exception { Properties properties=new Properties(); // InputStream in=new FileInputStream("D:/eclipsejava/com.JDBC/src/druid.properties"); properties.load(in); System.o.

2021-03-27 21:54:31 41

原创 SQL:结构化的查询语言

sql语句:DDL:数据库定义语言 对数据库、表结构进行操作建库、建表、修改表结构、删库、删表等等SQL语句大小写不敏感创建数据库CREATE DATABASE [IF NOT EXISTS] dbname[charset=utf8 collate utf8_general_ci];create database first;显示所有的数据库SHOW DATABASES;切换到要使用的数据库USE 数据库名称;删除数据库DROP DATABASE [IF EXISTS] 数

2021-03-26 22:00:04 87 1

原创 Servlet的生命周期

Servlet的生命周期Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:Servlet 初始化后调用 init () 方法。init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化。Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时,但是也可以指定 Servlet 在服务器第一次启动时被加载。Servlet 调用 service() 方法来处

2021-03-20 21:20:51 73

原创 get和post区别

get和post区别功能不同get是从服务器上获取数据。post是向服务器传送数据。过程不同get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。获取值不同对于get方式,服务器端用Request.QueryString获取变量的值。对于post方式,服

2021-03-20 21:20:20 37

原创 URI和URL的区别

URI和URL含义URI,统一资源标志符(Uniform Resource Identifier, URI),用来唯一的标志一个资源表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行标识的。URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位符”。即URL可以用来标识一个资源,而且还指明了如何locate这个资源。位置不同绝对URL(absolute URL)显示文件的完整路径,这意味着绝对UR

2021-03-20 21:19:54 55

原创 IP地址

IP地址互联网协议地址,或称网际协议地址,标记服务器,掉别哦了服务器的具体地址以一种逻辑的方式隔离广播,真正起到定位作用的是MAC;运行于网络层,独立处理数据包,尽力而为传输,无数据恢复功能;(类似于UDP)在一个网络中,主机必须拥有相同的网络号才能通信。计算机系统,只要遵守IP协议就可以与因特网互连互通IP地址编码方式每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机

2021-03-20 21:19:18 52

原创 HTTP协议

HTTP协议(HyperText Transfer Protocol,超文本传输协议)用于万维网服务器传输超文本到本地浏览器的传送协议基于TCP/IP通信协议来传递数据工作原理HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即web服务器发送所有的请求(Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等)。web服务器根据接收到的请求后,向客户端发送响应信息注意事项HTTP是无连接的

2021-03-20 21:17:19 49

原创 双向链表

import java.util.NoSuchElementException;//双向链表public class MyLinkedList<E> { public static void main(String[] args) { MyLinkedList<String> list = new MyLinkedList<>(); list.add("bb"); list.addFirst("aa");// list.unLinkLast();.

2021-03-18 21:18:24 43

原创 按照层级打印文件夹目录

package com.xue;import java.io.File;//按照层级打印文件夹目录public class FileShow { public static void main(String[] args) { File file = new File("C:\\tmp"); if (file.exists()) { System.out.println(file.getParent()); show(file, 1); } } public st

2021-03-08 17:19:08 139

原创 Set接口

Set接口特点:无序、不允许重复,是Collection接口的子接口没有定义新方法,所有的方法都是Collection接口中所定义的方法实现类HashSet存储采用哈希表的方式进行存储,HashSet采用HashCode算法来存取集合中的元素,因此具有比较好的读取和查找性能LinkedHashSet是在HashSet的基础上添加一个额外的链表结构可以记录存储数据的顺序TreeSet采用的是树状结构进行数据存储HashSet底层实现方法:存储到Set中的所有数据最终都存储在一个Has

2021-03-08 17:14:48 85 1

原创 泛型

泛型什么是泛型泛型是jdk5引入的类型机制,就是将类型参数化,泛型作为一种安全机制而产生泛型在本质上是指类型参数化。所谓类型参数化,是指用来声明数据的类型本身,也是可以改变的,它由实际参数来决定。在一般情况下,实际参数决定了形式参数的值。而类型参数化,则是实际参数的类型决定了形式参数的类型。不使用泛型,使用集合时编程比较复杂List list=new ArrayList();list.add(123); //自动向上转型 int-->Integer-->Objec

2021-03-08 15:45:21 116

原创 深克隆

import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import java.util.Date;//深克隆public class Test3 { public static void main(String[.

2021-03-05 16:49:53 86 1

原创 浅克隆

浅克隆只是克隆s1对象,但是针对s1中的引用类型属性只是克隆地址import java.util.Date;//只是克隆s1对象,但是针对s1中的引用类型属性只是克隆地址public class 浅克隆 { public static void main(String[] args) throws Exception { Stu s1=new Stu(); s1.setId(200L); s1.setBirth(new Date()); Stu s2=(Stu)s1.clone()

2021-03-05 16:49:02 67

原创 集合框架中的接口

集合框架中的接口Collection接口顶级接口,继承Iterable接口无序、允许重复常见方法size():int获取元素个数contains(Object):boolean 判断集合中是否有指定对象使用的是equals方法进行判断,不是==toArray():Object[] 将集合中的所有元素以数组方式进行返回add(Object):boolean 向集合中添加元素remove(Object):boolean 从集合中删除指定的元素使用的是equals方法进行判断,

2021-03-03 22:49:46 100 1

转载 数组和集合的比较

概述集合集合只能存放对象。比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类后存入的(装箱操作),Java中每一种基本类型都有对应的引用类型集合存放的是多个对象的引用,对象本身还是放在堆内存中集合可以存放不同类型,不限数量的数据类型。定义集合变量时如果不指定数据类型,则默认数据类型为Object数组和集合的比较针对Java中的数组定长,Java提出了集合框架,实现了一种变长存储数据的容器—集合【容积和当前元素个数】数组不是面向对象的,存在明显的缺陷,集合弥补了

2021-03-03 22:47:06 426

原创 数据结构--线性表、链表

数据结构1、线性表(数组)存储区间是连续的,占用内存严重,故空间复杂度很大。但数组的二分查找(前提是必须有序)时间复杂度小,为O(1);数组的特点是:寻址容易(arr[n]=arr[0]+n*每个元素的长度,时间复杂度为O(1))插入和删除困难(可能会引发一半以上的数据元素移动,时间复杂度为O(n));Java中的数组是定长的,如果需要变长则需要自行编程实现2、链表存储区间离散(数据不是连续存放的),占用内存比较宽松,故空间复杂度很小,但操作元素的时间复杂度很大,达O(N)。链表的特点

2021-03-03 22:45:05 149 1

转载 Condition接口

Condition接口Condition是j.u.c包下提供的一个接口。可以翻译成 条件对象,其作用是线程先等待,当外部满足某一条件时,在通过条件对象唤醒等待的线程。void await() throws InterruptedException;让线程进入等待,如果其他线程调用同一Condition对象的notify/notifyAll,那么等待的线程可能被唤醒。释放掉锁void signal();唤醒等待的线程void signalAll();唤醒所有线程写2个线程,其中一个打印1-52,

2021-03-03 22:42:38 220

原创 线程的编程4种实现方法

继承ThreadThread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例public class Thread implements Runnable@FunctionalInterface //函数式接口,其中包含一个抽象方法runpublic interface Runnable {public abstract void run();}启动线程的唯一方法就是通过Thread类的start()实例方法,不能直接调用run()方法。start()方法是一个native

2021-03-03 11:44:56 54

原创 Lock的使用

Lock的使用Lock是java 1.5中引入的线程同步工具,它主要用于多线程下共享资源的控制。本质上Lock仅仅是一个接口,可以通过显式定义同步锁对象来实现同步,能够提供比synchronized更广泛的锁定操作,并支持多个相关的Condition对象void lock();尝试获取锁,获取成功则返回,否则阻塞当前线程void lockInterruptibly() throws InterruptedException;尝试获取锁,线程在成功获取锁之前被中断,则放弃获取锁,抛出异常boole

2021-03-01 17:22:04 173

原创 生产者消费者问题

多线程之间的数据通讯方法生产者消费者模式生产/消费者问题是个非常典型的多线程问题,涉及到的对象包括生产者、消费者、仓库和产品。他们之间的关系如下:生产者仅仅在仓储未满时候生产,仓满则停止生产。消费者仅仅在仓储有产品时候才能消费,仓空则等待。当消费者发现仓库没产品可消费时候会通知生产者生产。生产者在生产出可消费产品时候,应该通知等待的消费者去消费。编码实现仓库类,产品就是仓库的属性data //临界资源 public class Basket { private vo

2021-02-19 23:01:08 86

原创 线程同步

同步处理的引入在java语言中存在两种内建的synchronized语法:synchronized代码块和synchronized方法( 静态方法和非静态方法)可以解决线程安全问题首先synchronized将并行改为串行,当然会影响程序的执行效率,执行速度会受到影响。其次synchronized操作线程的堵塞,也就是由操作系统控制CPU的内核进行上下文的切换,这个切换本身也是耗时的。所以使用synchronized关键字会降低程序的运行效率。造成线程安全问题的主要诱因造成线程安全问题的主要诱因右两

2021-02-19 22:57:25 91

原创 静态static关键字

静态static关键字用于修饰成员,包括成员属性(类属性或者静态属性)、成员方法(类方法或者静态方法)随着类加载,随着类消失优先于对象,可以用类名直接访问静态属性,即static修饰事物属性可以直接以类名的方式进行调用,也可以创建对象后当作普通属性进行调用public class A { public static int kk=123;//静态属性 public static void pp() {}//静态方法 public static void main(Str

2021-02-03 22:11:27 90 1

原创 Java中的final关键字

Java中的finalfinal关键字可以修饰属性final修饰变量时,变量必须被初始化,并且不能被修改。初始化可以是在定义final变量时直接初始化或者在构造函数中初始化(则必须在所有当前类的构造器中赋值)。public class A { private final String name="123"; //使用final一般用于定义常量,可以在声明的同时进行赋值,例如PI=3.1415。一般常量的命名规则为全大写,下划线分词USE_NAME public void pp()

2021-02-03 21:26:55 46

原创 this和super关键字

this和super关键字this用于指代当前对象super用于指代父类对象this()表示调用另一个构造器,super()表示调用父类的某个构造器,()中的参数决定调用的是那个构造器public class A{ public A(){ //调用A(String)这个构造方法 this("aaaa")//调用当前类中的另一个构造器 } public A(String a){ System.out.println(a); }}//其他

2021-01-14 22:40:43 66 1

原创 java中的构造函数

构造函数构造函数是一种特殊的方法,主要用来在创建对象时对其进行初始化,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。一个类可以有多个构造函数,可根据其参数个数或参数的类型不同来区分它们,即构造函数的重载方法名称和类名称一致,包括大小写没有返回值类型的声明在一个类中允许方法同名(方法重载),要求参数不同:类型、个数、顺序构造器方法不能直接调用,只能通过new运算符间接调用public class B1{ public B1(){} public B1(

2021-01-13 23:03:14 209

原创 Java中的范围限定词

范围限定词private 私有的protected 受保护的默认(就是没有限定词、package限制不能写成default)public 公共的限定类public class A{//外部类 class B(){}//这个类定义在类A中,为内部类}外部的独立类上可以使用的限定词有public和默认两种;内部类可以只用4大范围线否定此种的任意一个在一个.java文件中可以定义无数个class,但是只能定义一个public class,而且要求文件名称和public clas

2021-01-12 22:38:28 735 3

原创 成员变量与局部变量的区别

成员变量与局部变量的区别成员变量定义在类中,整个类中都能访问,与具体所在的位置无关。局部变量定义在方法、语句、局部代码块中,旨在所属的区域有效,而且必须是先定义后使用,先赋初值后使用。public class Student{ public void who(){ return name; } private String name;//成员变量----属性 public void eat(){ String food="rice";//局部

2021-01-12 21:54:34 106 3

原创 Java中输入函数next的用法,next()、nextInt、nextLine()的区别

Java中输入函数next的用法next()、nextInt、nextLine()的区别:next()、nextInt()、nextDouble()等此类方法遇见第一个有效字符(非空格、非换行符)时开始扫描,但是遇见第一个分隔符或者结束符时(空格、enter、Tab)结束扫描,获取扫描到的不含空格、换行符的单个字符串import java.util.Scanner;public class Practice { public static void main(String[] args) {

2020-12-21 00:16:32 934

原创 挑7

输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37…70,71,72,73…)的个数public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int count = 0; while (sc.hasNext()) { int n = sc.nextInt(); if (n >= 7) {

2020-11-25 20:56:50 149

原创 继承 extends

继承 extends继承就是在已经存在的类的基础上,再进行功能扩展,从而产生新的类,支持了层次结构分类的概念。已经存在的类称为父类、超类或基类,而新产生的类称为子类或派生类。public class Person{ private String name ; public void eat(){ }}public class Student extends Person{}通过继承可以包含Person类中所定义的所有成员[构造器和析构器方法不是成员,所以不能被继

2020-11-21 23:27:15 113

原创 Java中的封装

什么是封装封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。封装是一种将代码与其处理的数据结合起来,而不被外界干扰和滥用的程序设计机制。该逻辑单元负责将所描述的属性隐藏起来,外界对客体内部属性的所有访问只能通过提供的用户接口实现。封装可以隐藏实现细节,并对外提供了公共的访问方式抽象抽象是人类解决问题的基本法宝。良好的抽象策略可以控制问题的复杂程度,增强系统的通用性和可扩展性,抽象主要包括过程抽象和数据抽象范围限定词: 不被外界干扰和滥用的程序设计机制,封装隐

2020-11-19 23:40:25 147

原创 矩阵乘法

题目描述:如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的矩阵的大小不超过100*100题目地址:https://www.nowcoder.com/questionTerminal/ebe941260f8c4210aa8c17e99cbc663bimport java.util.Scanner;public class Main { public static void main(String[] a

2020-11-17 22:18:35 181 2

原创 数组

Java中的数组:1、声明:(1)类型[ ] 标识符;(2)类型 标识符[ ];这两种都可以声明数组,但是Java建议使用第一种。int[ ] array;2、赋值:数组的赋值包括两个过程,第一是动态赋值,第二叫静态赋值过程动态赋值过程,其真正的含义是:需要我们先去申请一个堆空间,然后针对这个堆空间的内容一个一个的赋值, 格式: 标识符 = new 类型[容量]; array = new int [10] 数组的大小不能改

2020-11-17 21:50:17 42

空空如也

空空如也

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

TA关注的人

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