![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础语法
WAWA战士
起飞
展开
-
springboot批量插入优化
循环插入耗时1207msjdbcTemplate的batchUpdate方法耗时814ms字符串拼接插入耗时150ms没有了循环生成对象的步骤,也不必每次insert都建立网络,而是只需要一次网络,对于我这种每次只插入10个单词的app来说最好了,响应贼快...原创 2022-04-21 16:06:37 · 776 阅读 · 0 评论 -
隐藏注释和输出注释
输出注释就是html的注释,形如<!–content–>隐藏注释就是jsp的注释,形如<%–content–%>被称为输出,就是因为这种注释所包括的内容,会出现在jsp翻译成servlet的代码中,也就是说真的被out.print出来,这样客户端收到的内容也是含有注释的,只不过不需要执行那部分被称为隐藏,就是因为这种注释所包括的内容,不会出现在jsp翻译成servlet的代码中,也就是根本不会被out.print...原创 2021-12-01 17:10:14 · 865 阅读 · 0 评论 -
jdbc中executeQuery后下标指向谁
结论:第一行记录的前面点击进入next就有说明了原创 2021-12-01 16:53:21 · 52 阅读 · 0 评论 -
Integer中==和equals的区别
前提首先明确,==比较值是否相等,这是永远不变的,引用变量除去基本类型之外,那些各种类(应用类型)变量本质都是指针,String str;中的str就是一个指针,或者说是一个 存放地址的空间的记号,这就是所谓的引用变量,在栈中会分配空间给这种引用变量,引用变量使用==比较既然是比较值,那么Integer a=new Integer(5);Integer b=new Integer(5);ab在这里相当于比较两个new Integer(5)对象的地址是否相等Integer缓存机制(全文重点)原创 2021-12-01 00:13:17 · 878 阅读 · 0 评论 -
tomcat的log日志输出在哪
如果手动在tomcat的webapp配置原创 2021-11-25 22:44:35 · 1465 阅读 · 0 评论 -
tomcat手动配置servlet
1.准备工作如下图,先按照要求创建好各个文件这时候如果你觉得能运行,那就错了(我一开始卡在这了)idea的项目结构如果学习过用idea创建servlet应用,你肯定会发现,这里提供的web.xml根本不完整请用以下代码囊括上述的servlet标签<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http原创 2021-11-24 20:02:03 · 1491 阅读 · 0 评论 -
jsp的pageEncoding和charset区别
我们在写jsp页面的时候经常会在页面头部使用如下代码:<%@ page language=“java” contentType=“text/html; charset=utf-8” pageEncoding=“utf-8”%>那么 pageEncoding , contentType 分别用来做什么那?在解释之前让我们先了解下jsp从被请求到响应经历的三个阶段:第一阶段:将jsp编译成Servlet(.java)文件。用到的指令是pageEncoding,根据pageEncoding=“X原创 2021-11-18 00:40:35 · 203 阅读 · 0 评论 -
PrintWriter的write和print区别
print方法可以将各种类型的数据转换成字符串的形式输出。因为print方法本质上(源码上)先对传入的内容调用toString方法,然后再调用write方法重载的write方法只能输出字符、字符数组、字符串等与字符相关的数据。最终都是重写了抽象类Writer里面的write方法PrintWriter wr = response.getWriter();wr.write("上次访问的时候 : "+100);wr.print(100);...原创 2021-11-18 00:02:28 · 1456 阅读 · 0 评论 -
调用opencv的java程序导出可直接使用的jar包
具体操作按照如图路径把下面这个东西放到jar包的同一个目录下再把opencv-343.jar也放在jar包的同一目录下,现在jar最终文件组织是这样的发给别人,别人打开jar包即可正常运行相关opencv功能了!!!下面是一些我们用java写opencv时要注意的事项,idea配置opencv配置后调用opencvopencv所有函数调用要求路径为英文导进来的opencv项目记得edit configuration让主函数(程序入口函数)配置VM选项使用opencv的功能之前请在代原创 2021-05-23 17:38:13 · 859 阅读 · 0 评论 -
接口
接口是多个类的公共规范接口是一种引用数据类型,最重要的是其中的抽象方法!!!定义一个接口public interface 接口名称{}备注:换成了关键字interface之后,编译生成的字节码文件仍然是.java - - > .classJava7的接口中可以包含的内容:1.常量2.抽象方法Java8的接口中额外可以包含的内容:3.默认方法 4.静态方法Java9的接口中额外可以包含的内容:5.私有方法public interface in{注意:接口中的抽象方原创 2020-06-03 16:26:28 · 99 阅读 · 0 评论 -
抽象类和抽象方法
抽象方法:如果父类中的方法不确定如何使用方法体实现,这就是抽象方法比如动物类,每个动物吃的东西都不同,我们无法确定吃什么抽象类和抽象方法:注意:不能直接new抽象类对象!!!! 比如你new一个动物,这个动物是啥没人知道,所以new不出来,因此必须用一个子类来继承抽象父类子类必须覆盖重写(即实现)抽象父类当中所有抽象方法public abstract class Animal{ //这是一个抽象方法,代表吃东西,但是具体吃什么不确定 public abstract void eat(原创 2020-05-21 00:29:03 · 137 阅读 · 0 评论 -
方法覆盖重写
@Override其实可以不写,但是不写可能出错了都不知道@Override的作用:检验是否为有效正确的方法重写@Override的使用条件:必须保证父类和子类之间方法的名称相同,参数列表也相同,这也是重写的定义,(如果说参数列表一样那不就是重载了,)注意,是写在待检测方法前面public class Dad{ public void method(){ }}public class Son extends Dad{ @Override//如果这里报错,说明根本没有进行原创 2020-05-16 15:27:40 · 156 阅读 · 0 评论 -
继承
继承主要解决的问题是 :共性抽取继承是为了减少代码量,在图中讲师和助教(二者是子类)都含有姓名和工号成员变量,我们可以把共同属性抽象为员工类(即父类),这样就不用重复写代码了,同时子类可以拥有自己独有的方法和变量效果演示我们先定义了一个父类 员工public class Employee{ public void method(){ System.out.println("halo"); } }然后再分别定义一个讲师,助教 类,内容为空,请特别注意子类的写法,原创 2020-05-14 19:54:24 · 127 阅读 · 0 评论 -
数学工具类Math
public static double abs(数字);//获取绝对值public static double ceil(数字);//向上取整,有小数就变大public static double floor(数字);//向下取整,就是把小数搞掉public static long round(数字);//四舍五入Math.PI//圆周率public class Demo{ public static void main(String[] args) {原创 2020-05-13 13:45:30 · 151 阅读 · 0 评论 -
数组工具类Arrays
public static String toString(数组);//把数组转换成字符串 [数组元素,数组元素…]public static void sort(数组);//默认从小到大排序,也可以按照字典序排序package cn.itcat.day08.demo04;import java.util.Arrays;//提供大量静态方法,无需创建对象来使用,可以直接用类名称调用,方便public class Demo{ public static void main(Stri原创 2020-05-13 11:53:58 · 121 阅读 · 0 评论 -
static关键字
一//在学生类中定义了教室号,只要我在类中修改了这个roomNumber,所有对象都会因之改变private static int roomNumber=0;我们先定义一个Myclass类public class Myclass(){public void method(){System.out.println("hi");}public static void methodStatic(){System.out.println("halo");}}二一旦使用stati原创 2020-05-12 22:33:59 · 105 阅读 · 0 评论 -
字符串的分割方法
分割字符串方法:public String[] split(String regex);按照参数规则将字符String str1 = "aaa,bbb,ccc";String[] array = str1.split(",");for(int i=0;i<=arrar.lengh();i++){System.out.println(array[i]);//结果是aaabbbccc}原创 2020-05-12 20:22:54 · 897 阅读 · 0 评论 -
字符串的获取相关方法
//public int length();//获取字符串字符数int len= "dwdadaa".length();//public String concat(String str);//拼接字符串String str1 = "hello";String str2 = "world";String str3 = str1.concat(str2);//str3变成helloworld//public char charAt(int index);//获取字符串中指定下标位置.原创 2020-05-10 16:24:02 · 116 阅读 · 0 评论 -
字符串的比较方法
字符串内容比较方法:public boolean equals(Objects obj);参数可以是任意对象,如果相同会给true,否则falseString str1 = "hello";String str2 = "hello";char[] charArray = {'h','e','l','l','o'};String str3 =new String(charArray);System.out.println(str1.equals(str2));...原创 2020-05-10 15:50:19 · 218 阅读 · 0 评论 -
字符串的构造方法与直接创建及常量池
//三种构造方法,就是new同时搞事情 String str1 =new String();//空白字符串 char[] charArray = {'A','B','C'}; String str2 =new String(charArray);//打印ABC//字符串底层也是使用byte数组处理的 byte[] byteArray = {97,98,99}; String...原创 2020-05-07 23:30:54 · 100 阅读 · 0 评论 -
ArrayList的使用
数组长度无法改变,但是ArrayList集合的长度可以随机变化对于ArrayList来说,尖括号代表泛型泛型:即装在集合当中的所有元素,全部统一的类型泛型只能是引用类型,不能是基本类型,因为集合里面存放的是地址值而基本数据类型无地址值从JDK1.5+开始,支持自动装箱,自动拆箱自动装箱:基本类型进来自动变为包装类型自动拆箱:包装类型出去自动变为基本类型引用类型有哪些先导包再说im...原创 2020-05-07 22:20:53 · 166 阅读 · 0 评论 -
Random的使用
返回对应数据类型范围内的一个数字package cn.itcast.day07.demo03;import java.util.Random;public class Demo01Random{ public static void main(){ Random r=new Random(); int num =r.nextInt();//返回一个int范围内的随机数,有正...原创 2020-05-07 14:31:10 · 205 阅读 · 0 评论 -
匿名对象
已经有Person这个类public class Person{ String name; public void showName(){ System.out.println(name); }}匿名对象:没有对象名如果确定有一个对象只需要使用一次,就可以使用匿名对象public static void main{ new Person().name...原创 2020-05-07 14:19:56 · 82 阅读 · 0 评论 -
Scanner的使用
首先在package下面立刻写上import 包路径.类名称; 这个就是导包语句注意,如果需要使用的类和当前类位于同一个包下,则可以省略导包语句,还有,java.lang包的内容也是不需要导包,其他都要下面以Scanner举例,Scanner的包路径是java.utilpackage cn.itcast.day07.demo01;import java.util.Scanner...原创 2020-05-07 14:01:08 · 205 阅读 · 0 评论 -
数组作为方法参数
public static void main(){int []array={1,3,5,7,9};printArray(array);} //注意数组作为形参的写法public static void printArray(int[] array){for(int i=0;i<array.length;i++){System....原创 2020-05-07 13:46:34 · 125 阅读 · 0 评论 -
java API
全称Application Programming interface 即应用程序编程接口Java API相当于一本字典,是JDK提供给我们使用的类的说明文档,这些类将底层代码封装起来点左上角的显示,然后点索引,把需要的类输入到查找框中,按两次回车,左上角是这个类所在的包然后看构造方法,然后看方法摘要...原创 2020-05-05 20:40:44 · 104 阅读 · 0 评论 -
标准的类
一个标准的类有以下四个组成部分:1. 所有成员变量都要用private关键字修饰2. 为每一个成员变量都编写一对Getter/Setter方法3. 编写一个无参数的构造方法4. 编写一个全参数的构造方法这种标准的类我们又可以叫Java Beanpublic class Student(){ private int age; private String name; public ...原创 2020-05-05 20:29:54 · 98 阅读 · 0 评论 -
构造方法
这个东西可以理解为new的时候顺带搞一波事情,比如new的同时输出某些值,或者new的同时初始化现在有一个Person类public class Person{ String name;//我的名字,成员变量name}搞一波构造方法public class Person{ String name;//我的名字,成员变量name public Person(String...原创 2020-05-05 20:13:26 · 102 阅读 · 0 评论 -
private的使用
面向对象三大特征:封装,继承,多态提醒一句,类里面的成员方法不需要写static封装性在Java中的体现:1. 方法是一种封装2. 关键字private也是一种封装封装就是将一些细节信息隐藏起来,对外界不可见我的理解是,在为某个对象赋值或者得到某个对象的值的时候,我们不能直接调用了,需要用成员方法来赋值或者获取现在有一个未封装的Person类public class Person...原创 2020-05-05 19:46:28 · 12387 阅读 · 6 评论 -
this的使用
如果我们已经定义了Person这个类,如下:public class Person{ String name;//我的名字,成员变量name public void sayhelloto(String name) { System.out.println(name+",您好,我是"+name); }}我们本意是要 打印出 (对方名字,您好,我是我的名字)但...原创 2020-05-05 19:29:01 · 89 阅读 · 0 评论