[TOC]
命名规则 注意: 包名小驼峰,类名大驼峰,方法名小驼峰
记录学习Java的过程、知识点、bug等等。 个人详细学习记录博客
算法练习。
调试代码:
- 一般cout输出中间变量;
- 遇到****Runtime Error**** (RE)、segment fault一个个删除代码看那部分对结果有影响的。
注意类名要改为Main,去掉包路径;即可运行在acwing上。
提示:力扣上面的题目不需要处理输入,直接写思路在函数里面即可。
题源:剑指offer
TODO: 用y总的代码重构,有些题目还是没懂
Java基础复习(参考的是黑马)
- collection集合
- file类
- io流
- net网络编程
- lambda函数式编程
- stream流
- reflect反射
- annotation注解
SpringCache
#result.id
是从函数返回值中取#p0.id #user.id #arg.id
都是从参数中取,然后缓存condition
是满足条件才缓存unless
满足条件不缓存
设计模式(参考尚硅谷)
笔记在notes中
dubbo练习(参考尚硅谷)
Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
官网:
练习(参考尚硅谷)
函数式编程(参考B站,三更草堂)
各种代码笔记
mysql语句练习,理论参考博客
- tab_user建表
- multiTableExample多表例子
- multiTableExercise多表查询练习
- grantAndRevoke管理用户和授权
java连接数据库;db3.sql需要用到练习的sql数据
- JdbcDemo01快速入门
- JdbcDemo02-05 添加、修改、删除数据(DML)、创建表(DDL)
- JdbcDemo06查询语句(DQL)if判断
- JdbcDemo07查询语句(DQL)while判断
- JdbcDemo08、09、10:封装数据、防止sql注入、事务
- 除此之外的就是数据库连接池的练习和例子
Javaweb学习
一个前端框架练习
xml解析练习
Javaweb学习:涉及到服务器,需要Tomcat等新环境,开的模块。
Servlet是sun公司制定的一种用来扩展web服务器功能的一种组件规范,web服务器只能只能处理静态资源的请求;使用Servlet来扩展web服务器功能,web服务器收到请求之后就会调用相应的Servlet来处理请求。
- servlet
- request对象;test包下是个总和案例
- response对象
- cookie(客户端)
- session(服务端)
- el表达式
- jstl jsp标准标签库
- jspCase jsp、el、jstl的一个总和案例
- filter 过滤器
- filterCase 过滤器的案例练习(有错误)
- listener 监听器
JQuery、Ajax暂时不做了解;了解一下json
参考的是尚硅谷
尚硅谷
消息队列练习
nosql数据库练习,笔记在notes中
spring学习
- demo1入门
- demo2依赖注入(对象属性的、属性是集合的、bean的单例多例)
- demo3使用注解进行配置
- demo4 Aop切面
- demo5 jdbctemplate
- demo6 事务、log4j2
入门练习
- @RequestMapping的各种属性
- @RequestParam请求参数
- @RequestHeader头
- @CookieValue值
- 通过实体类参数获取请求参数
- 解决乱码问题
- 使用servletAPI获取request域对象共享数据
- 使用ModelAndView获取request域对象共享数据
- 使用Model获取request域对象共享数据
- 使用Map获取request域对象共享数据
- 使用modelMap获取request域对象共享数据
- 使用servletAPI获取session域对象共享数据
- 使用servletAPI获取application域对象共享数据
- thymeleafView视图
- InternalResourceView转发视图
- RedirectView重定向视图
- 视图控制器spingmvc.xml中配置view-controller
- 基本运行入门
- 显示用户信息
- 删除用户
- 添加用户
- 修改用户
HttpMessageController
- requestBody请求体
- requestEntity请求实体
- responseBody响应体
- responseEntity响应实体
- 文件下载
- 文件上传
- 拦截器
- 异常处理
全部采用注解来配置实现
- 快速入门
- 增删改查
- 方法里有不同参数进行查询
- 不同返回值类型进行查询
- 添加主键自增
- 实体类和数据库列名的自定义映射
- 分步查询、延迟加载
- 一对多的查询
- 动态sql
- 一级、二级缓存、整合第三方缓存
- 逆向工程:根据数据库表生成具体的实现类
- 使用分页插件
练习(尚硅谷)
多数据源练习(尚硅谷)
- springboot-demo1 boot入门
- springboot-helloworld 使用spring Initializer创建模板
- springboot-web01 web方面的注解使用
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
这里的版本可以不同,!!!用模板创建的需要删除这里以外的就能运行
<version>2.3.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.codewater</groupId>
<artifactId>web</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>web</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.5.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
- git add添加文件的时候区分大小写的,不然会添加不成功。
- git push远程分支的时候也是需要区分大小写,不然还是会push不成功。
-
comparator的排序规则如何定义(详情)
规则: 从小到大排序,当前对象-比较对象; 从大到小排序,比较对象-当前对象。
实现比较的两种方法:
-
Comparable:类继承接口的:
public class Student implements Comparable<Student>{ private int age; @Override public int compareTo(Student o) { return this.age-o.age;//升序 } }
-
Comparator:排序时直接写规则如Collections.sort或 Arrays.sort
Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { return o2.getAge()-o1.getAge();//以学生的年龄降序 } });
-
-
泛型的上下限
- 设置泛型对象的上限使用extends,表示参数类型只能是该类型或该类型的子类
格式:< ? extends 类> - 设置泛型对象的下限使用super,表示参数类型只能是该类型或该类型的父类:
格式:< ? super 类>
- 设置泛型对象的上限使用extends,表示参数类型只能是该类型或该类型的子类
-
Java是向下取整(浮点数到整数)