- 博客(50)
- 收藏
- 关注
原创 Stream 流 集合操作(创建方法,中间方法,终结方法,静态方法)
一、创建方法:Collection:直接调用stream();Map:先转为Collection,再调用stream();数组:Arrays.stream();单独对象:Stream.of();//双列集合流 Map<String,Integer> map = new HashMap<>(); Stream<Map.Entry<String, Integer>> stream1 = map.entrySet().str
2022-05-29 18:37:12 1061
原创 力扣是我蝶之BFS
给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径,返回 -1 。二进制矩阵中的 畅通路径 是一条从 左上角 单元格(即,(0, 0))到 右下角 单元格(即,(n - 1, n - 1))的路径,该路径同时满足下述要求:路径途经的所有单元格都的值都是 0 。路径中所有相邻的单元格应当在 8 个方向之一 上连通(即,相邻两单元之间彼此不同且共享一条边或者一个角)。畅通路径的长度 是该路径途经的单元格总数。来源:力扣(LeetCode)链接:h
2022-05-25 10:03:54 70
原创 SpringBoot(二) JDBC和yml、properties
导入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.21</version> </dependency> <dependency> <
2020-08-21 14:40:31 424
原创 SpringBoot(一)入门和缓存
创建maven项目在Pom.xml当中导入父包指定jdk版本为1.8如下 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.4.RELEASE</version> </pa
2020-08-21 10:20:55 103
原创 Mybatis(三) 一对一,一对多,多对多查询
订单:public class Order{ private int id; private Date ordertime; private User user; private int total;<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/d
2020-08-11 14:17:13 160
原创 Mybatis(一)入门
核心配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!--加载properties文件--> <properties r
2020-08-10 13:07:53 110
原创 springmvc(二)页面跳转
@Controllerpublic class UserController {//在这个方法里return的success会被加上配置文件中配好的前后缀:/jsp/success.jsp @RequestMapping("/start1") public String save(){ System.out.println("Controller save running....."); return "success"; } @Re.
2020-08-07 19:53:15 137
原创 spring mvc(一)
web.xml?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/
2020-08-07 13:59:24 128
原创 Spring(七)-基于注解的声明式事务控制
Service层 一个人加钱,一个人减钱,用中间的异常来体现事务的原子性。(事务会直接回滚,非事务会只给Inman加钱,不给outman减钱)@Service("accountService")//Service特色@Transactional(isolation = Isolation.DEFAULT)//Transactional的位置表示范围,括号里表示事务的属性。public class AccountServiceImpl implements AccountService { @A
2020-08-06 19:26:26 150 1
原创 Spring(六)基于xml的声明式事务控制
事务隔离级别:读未提交、读已提交、可重复读、串行化。事务传播行为:以上理解基于A调用B之后,B的行为:比如required:如果A没有事务B就创建一个事务,如果A有事务,B就加入这个事务。supports:如果A有事务,B就加入这个事务;如果A没有,B就以非事务形式运行。spring xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/b
2020-08-06 18:51:48 182
原创 Spring(五)JdbcTemplate
Config.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" x
2020-08-06 13:51:30 94
原创 Spring(四)基于注解的织入
切面类@Aspect//标注这个类是切面类@Component("myAspect")public class MyAspect { @Before("execution(public void com.aopAnno.Target.save())") //配置前置增强 public void before(){ System.out.println("前置增强"); } @AfterReturning("execution(public void
2020-08-05 16:41:32 409
原创 Spring(三)基于xml的织入
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="
2020-08-05 14:39:25 162
原创 Spring(二)jdk和cglib的动态代理
在这里插入代码片 public static void main(String[] args) { //目标对象 final Target target = new Target(); //增强对象 Advice advice = new Advice(); //返回值就是动态生成的代理对象 TargetInterface proxy = (TargetInterface) Proxy.newProxyInstance(
2020-08-05 13:22:25 134
原创 Spring(一)入门,IOC
xml文件记录<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:
2020-08-04 21:03:18 140
原创 JVM垃圾回收
JVM的垃圾回收机制。一.分代1.将堆分代,分为年轻代、老年代,分代的目的是将容易死的和不容易死的区别开来,以提高GC的效率。再一个就是很多对象都死的很快,所以把new出来的放到年轻代可以高效地回收大量内存空间。2.较大的对象可以直接放到老年代。3.年轻代分为两部分,eden和survivor,survivor又分为了from和to两部分,它们的大小默认是8:1:1。eden区满了之后会将新对象放到survivor,from区满了会将没有满15次minor GC的对象放到to,满了的放到老年代。老年
2020-07-31 10:37:48 131
原创 ArrayList与LinkedList
ArrayList底层数据结构为名为elementDate的Object数组,它实现了List接口,继承了 实现了List接口 的抽象类 AbstractList,实现了RandomAccess:支持快速随机访问,根据下标获取元素。Cloneable:可以使用Object.Clone方法。Serializable:可以进行序列化和反序列化。1.ArrayList默认长度为10,最大长度为 Integer.MAX_VALUE - 8。//==============================
2020-07-30 16:21:49 346
原创 重入锁(2)
书接上文创建线程节点并且加入队列//=========================addWaiter方法返回一个thread 为当前线程的一个节点,将此节点传入acquireQueued方法首先进入死循环,新建node p为当前节点的前一个节点,如果p是head,则表示当前节点在队列中排第一,于是再次去执行tryAcquire方法,这个if是一次自旋;如果p不是head,则说明当前节点之前还有节点在排队,于是进入下一个If语句。获得上一个节点的状态值waitStatus节点的构造方法如
2020-07-25 17:05:20 131
原创 重入锁(1)
reentrantlock和synchornized从前,sync加锁需要需要使用c/c++去调用本地的方法,使cpu在用户态和内核态之间转换,导致效率并不高。 jdk1.7时对其进行了优化,使其效率和reentrantlock差不多。reentrantlock重入锁,有许多api可以调用,可直接在jdk层面解决同步问题。其分为公平锁和非公平锁,其内部有一个int类型的state用来记录是否有线程调用过.lock()方法,有一个等待队列来存储没抢到锁的线程。线程交替执行时,等待队列不被初始化,发生冲突时
2020-07-24 18:22:12 135
原创 对象(1)
x86JVM 观察java对象组成导入依赖<dependencies> <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.9</version> </dependency> </dependencies>main:import org.openjd
2020-07-23 16:26:01 264
原创 mysql
INNER JOIN 两边表同时有对应的数据,即任何一边缺失数据就不显示。LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。RIGHT JOIN 会读取右边数据表的全部数据,即便左边表无对应数据。1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。...
2020-07-17 21:05:39 92
原创 Lamda
在这里插import java.util.ArrayList;import java.util.List;import java.util.Scanner;interface MyThread { void start(String str1,String str2,int num3);}@FunctionalInterfaceinterface A{ int Fun(String a,int b );}public class Lamda { priva
2020-07-09 11:04:57 288
原创 AVL树
public class AVL树 { public Node root = null; //=================================================== //插入AVL树 public void insert(int key){ if(root == null){ root = new Node(key,null); return; } .
2020-07-08 15:19:27 77
原创 N皇后
import java.util.ArrayList;import java.util.List;public class Queen2 { static class point { int x; int y; public point(int x, int y) { this.x = x; this.y = y; } } public static void m
2020-06-24 08:36:29 129
原创 多线程CountDownLatch
import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;public class a200604多线程CountDownLatch { public static void main(String[] args) throws InterruptedException {
2020-06-04 15:43:14 138
原创 IO流练习
import java.io.*;import java.util.Scanner;public class a200603经典IO流 { //============ public static void main(String[] args) throws IOException { 写入文本(); 读取文本(); byte[] b= 读取二进制(); 写入二进制(b); } //===
2020-06-03 10:06:30 187
原创 三线程交替打印指定字符串
public class a200602经典多线程 { static int num = 0; //给定一个字符串双线程交替打印 static class MyThread extends Thread{ private String str; private String str2; public MyThread(String str,String str2) { this.str = str;
2020-06-02 11:34:22 313
原创 反射相关
import java.io.File;import java.io.FileDescriptor;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class a200528反射 { public static void main(String[] args) { try{ Cla
2020-05-28 10:51:17 123
原创 HTTP相关
import java.util.Scanner;/** * Created with IntelliJ IDEA. * Description: * User:WeiZhaoheng * Date: 2020/3/2 * Time: 10:12 */public class Day_0301 { public static void main(String[] args...
2020-04-01 20:46:40 101
原创 TCP 体验
//用户端package TCP;import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;public class Client{ // public static void main(String[] args) throws IOExcep...
2020-03-29 12:31:43 449
原创 网络 Socket编程(体验)
package udp;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.util.Scanner;// Server 必须公开出 port,否则客户端找不到我// 端口(p...
2020-03-27 20:57:24 106
原创 文件---通讯录相关
import java.io.*;import java.util.*;public class B322通讯录 { private static Map<String,people> namemap = new HashMap<>(); private static Map<String,people> phonemap = new Ha...
2020-03-22 18:16:36 100
原创 文件操作相关
import java.io.*;import java.util.Scanner;public class A322文件相关 { public static void main(String[] args) throws IOException { Scanner scan = new Scanner(System.in); String name...
2020-03-22 16:27:01 134
原创 文件相关
import java.io.File;import java.io.IOException;public class B320 { public static void main(String[] args) throws IOException { String path = "F:\\emulator\\nemu\\vms"; File fi...
2020-03-20 19:31:24 113
原创 定时器的简单实现
import java.util.concurrent.TimeUnit;public class SimpleTimer { interface SimpleTimerTask { void run(); } static class Worker extends Thread { long delay; Simple...
2020-03-15 17:37:47 118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人