Java8 新特性之前一直知道有 Java8 的新特性,包括 lambda 表达式,函数式接口,Stream API,Optional 处理的容器。这些内容有的使用过,但是都是一知半解,这里进行系统的学习一下。
Lambda 表达式 (Lambda Expressions)这是 Java 8 最具标志性的新特性。
是什么? Lambda 表达式,可以理解为 一段可以被传递的代码,或者说是一个 匿名函数。它允许你将一个函数作为方法的参数进行传递。
为什么需要它? 在 Java 8 之前,如果你想传递一段代码逻辑(比如一个排序规则),你必须创建一个实现了特定接口的匿名内部类的实例。代码非常冗长和笨重。Lambda 表达式极大地简化了这种写法。
怎么用? Lambda 表达式的核心语法是 (parameters) -> expression 或 (parameters) -> { statements; }。
parameters: 方法的参数列表。
->: Lambda 操作符,读作 “goes to”。
expression 或 statem ...
本笔记记录了本人在学习 MySQL 的过程中的学习笔记,由本人学习之后提取视频内容而做。
【黑马程序员 MySQL 数据库入门到精通,从 mysql 安装到 mysql 高级、mysql 优化全囊括】 https://www.bilibili.com/video/BV1Kr4y1i7ru
MySQL 基础篇通用语法及分类
DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)
DML: 数据操作语言,用来对数据库表中的数据进行增删改
DQL: 数据查询语言,用来查询数据库中表的记录
DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限
DDL(数据定义语言)数据定义语言
数据库操作查询所有数据库:SHOW DATABASES;查询当前数据库:SELECT DATABASE();创建数据库:CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];删除数据库:DROP DATABASE [ IF EXISTS ] 数据库名;使用数据库:USE 数据库名;
注意事项
...
JavaWeb事务进阶-propagation
事务传播行为:指的就是当一个事务办法被另外一个实物办法调用时,这个事务方法应该如何进行事务控制
REQUIRED: 默认值- 需要事务,有则加入,无则创建新事务
REQUIRES_NEW: 需要新事务,无论有无,总是创建新事务
123456@Transactional(propagation = Propagation.REQUIRES_NEW) // 这个方法在新的事务中创建并提交@Overridepublic void insertLog(EmpLog empLog) { empLogMapper.insert(empLog);}
文件上传简介
将我们的文件上传到服务器,供其他用户浏览或下载的过程
比如发微博和发朋友圈
前端代码示例
后端代码12345678910111213141516171819202122232425262728293031/** * @author Wiretender * @version 1.0 */package com.itheima.controller;import ...
ACL(Access Control List)
访问控制列表 用来实现数据包识别功能。
ACL 应用在接口上,每个接口的出入双向分别过滤。
仅当数据包经过一个接口时,才能被此接口的此方向的 ACL 过滤。
通配符掩码
通配符掩码和 IP 地址结合使用以描述一个 地址范围
通配符掩码的匹配规则:
0 表示对应位需比较
1 表示对应位不比较
ACL 的标识
基本 ACL
基本访问控制列表只根据报文的 源 IP 地址信息 制定规则
二层 ACL
二层 ACL 根据报文的源 MAC 地址、目的 MAC 地址、802.1p 优先级、二层协议类型等二层信息制定匹配规则
用户自定义 ACL 可以根据任意位置的任意字串制定匹配规则
报文的报文头、IP 头等为基准,指定从第几个字节开始与掩码进行“与”操作,将从报文提取出来的字符串和用户定义的字符串进行比较,找到匹配的报文。(IDS)
配置 ACL 包过滤
1234567891011121314151617181920212223242526272829303132333435开启防火墙[sysname] firewall ...
Exception 异常123456789101112131415161718192021222324252627package com.hspedu.exception_;import java.util.Scanner;public class Test { public static void main(String[] args) { // 创建 Scanner 对象 Scanner scanner = new Scanner(System.in); int num = 0; String inputStr = ""; while(true) { System.out.println("Please input a Integer"); inputStr = scanner.next(); try { num = Integer. ...
Java 学习笔记对象的成员方法 当程序执行到方法时,就会开辟一个独立的空间(栈空间)
1234567891011121314151617181920212223242526272829303132333435363738394041424344package javahsp.day04;public class Method01 { public static void main(String[] args) { Person wangXinNuo = new Person(); wangXinNuo.speak(); wangXinNuo.cal01(); wangXinNuo.cal02(10); }}class Person { String name; int age; // 1.public 公开方法 // 2. void 无返回值 // 3. speak 方法名 () 形参列表 // 4. {} 方法体 要执行的代码 public void speak() { System.out. ...
Java 学习笔记bool 类型12345678910public class Boolean01 { public static void main(String[] args) { boolean isPass = true; if (isPass == true) { System.out.println("考试通过, 恭喜!"); } else { System.out.println("考试没有通过, 下次努力"); } }}
自动类型转化123456789101112131415161718192021222324252627282930313233package day01;public class AutoConvertDetail { public static void main(String[] args) { // 有多重类 ...
飞机降落(十四届真题)[P9241 蓝桥杯 2023 省 B] 飞机降落 - 洛谷
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970#include <cstring>#include <algorithm>#include <unordered_set>#include <iostream>#include <bitset>#define io ios::sync_with_stdio(0), cin.tie(0)#define ll long longusing namespace std;const int N = 15;int n;int t[N], d[N], l[N];bitset<N> vis;/* 初始状态 (time=0) ├─ 选择飞机1 (新time=max(0,t1)+l1) │ ...
最大子段和刷洛谷的题的时候学到的新知识点,算法描述为下:
概念描述给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大。
而这个其中最大的数字就是这个数组的 最大字段和
算法代码展示123456789101112131415161718192021222324#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 2e5 + 10;int n, a[N];int main(){ scanf("%d", &n); for (int i = 1;i <= n;i ++) scanf("%d", &a[i]); long long ans = -1e9; long long cur = a[1]; for (int i = 2;i <= n;i ++) { cur = max(cur + a[i], a[i] + 0LL); ...
图上 BFS(我目前只会 STL 哈哈哈)
简单的图上 BFS
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;using PII = pair<int, int>;const int N = 410;int dx[8]={-2,-2,2,2,1,-1,1,-1};int dy[8]={-1,1,-1,1,2,-2,-2,2};int n, m, x, y;bool vis[N][N];int dis[N][N];bool inmp(int x, int y) ...