java
雨落风暖晴
这个作者很懒,什么都没留下…
展开
-
多线程应用
线程:依赖于进程,是程序执行一个单一的顺序控制流程,程序执行流的最小单位,处理器调度和分派的基本单位。进程:系统进行资源分配和调用的独立单位。区别:一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间同步:调用者必须等到方法调用返回才能进行后续行为。并发:多个任务交替执行阻塞:一个线程占用资源,其他需要这个资源的线程必须等待,等待会导致线程挂起。死锁:指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。线程实现继承thread类public cl原创 2020-08-17 21:19:33 · 149 阅读 · 0 评论 -
Java基础
集合框架:collectionmapcollection:listsetqueue:在两端出入的list,所以也可以用数组或链表实现map:hashmap:键不可重复,值可重复;底层哈希表;线程不安全;允许key值为null,value也可以为nullhashtable:键不可重复,值可重复;底层哈希表;线程安全;key,value都不允许为nulltreemap:键不可重复,值可重复;底层二叉树list:arraylist:排列有序,可重复;底层使用数组;原创 2020-08-10 22:53:17 · 232 阅读 · 1 评论 -
数据库相关
索引帮助mysql高效获取数据的数据结构。hash索引缺点:只满足= in ,不能使用范围查询无法被用来避免数据的排序操作不能利用部分索引键查询不能避免表扫描密集索引与稀疏索引密集索引文件中的每个搜索码值对应一个索引值稀疏索引文件中只为索引码的某些值建立索引项InnoDB若一个主键被定义,该主键作为密集索引若没有主键被定义,该表的第一个唯一非空索引则作为密集索引若不满足以上条件,innodb内部会生成一个隐藏主键非主键索引存储相关键位和其对应的主键值,包含两次查找原创 2020-08-05 11:29:27 · 104 阅读 · 0 评论 -
springboot
1、Application.java 建议放到根目录下面,主要用于做一些框架配置2、model 目录主要用于实体与数据访问层(Repository)3、service 层主要是业务类代码4、controller 负责页面访问控制@RestController 的意思就是 Controller 里面的方法都以 json 格式输出自定义 Filter实现 Filter 接口,实现 Filter 方法添加@Configuration 注解,将自定义Filter加入过滤链@Configuratio原创 2020-07-29 20:31:36 · 189 阅读 · 0 评论 -
ssm分离增删改查总结
1后台api知识点:spring核心,springMVC,MyBatisSSM整合实质:service中要访问到mapper,要求mapper代理的对象要交给spring容器;mybatis的事务管理能力弱,事务管理交给spring搭建的目标是 前端可以访问 controller,且controller返回json增加jar依赖 <!--增加springMVC的依赖--> <!-- https://mvnrepository.com/artifact/o原创 2020-07-10 11:16:25 · 490 阅读 · 0 评论 -
浪潮两道笔试大题java
第一道: 搬石头排序 题目:沙滩摆放着一排大小不一的球形石头,已知第i个石头的半径为ri,不存在两个石头半径相等。现要求通过移动石头使摆放的石头从左往右半径递增。每次可选择一块石头,并把它放在剩下n-1块石头的最左边或最右边。求最少操作次数。输入:第一行一个整数n,表示石头个数。(1 <= n <= 100000).第二行n个整数,表示从左往右石头的半径r1,r2,…,rn( 1<= ri <= n)。保证不存在两个不同的石头半径相等。输出:最少操作次数。样例输入原创 2020-07-09 17:33:52 · 1511 阅读 · 1 评论 -
restful
根据http协议从客户端发送数据到服务端,允许客户端通过http方法如: GET, POST,PUT, DELETE等读,写,修改和创建资源。REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口)Server和Client之间传递某资源的一个表现形式,比如用JSON,XML传输文本,或者用JPG,WebP传输图片等。当然还可以压缩HTTP传输时的数据(on-wire data compr原创 2020-07-08 20:36:50 · 88 阅读 · 0 评论 -
旅游网项目总结
知识概述Web层a) Servlet:前端控制器b) html:视图c) Filter:过滤器d) BeanUtils:数据封装e) Jackson:json序列化工具Service层f) Javamail:java发送邮件工具g) Redis:nosql内存数据库h) Jedis:java的redis客户端Dao层i) Mysql:数据库j) Druid:数据库连接池k) JdbcTemplate:jdbc的工具创建数据库前台表单校验//用正则表达式校验账号密码是否符合原创 2020-06-22 21:34:51 · 530 阅读 · 0 评论 -
cookie,session,application
cookie存在客户端session服务端技术session的两种实现方式(也就是传递方式):第一种通过cookies实现。第二种通过URL重写来实现application与一个Web应用程序相对应,该应用程序下所有的Servlet/JSP共用该Application中的信息(ServletContext)相比Session和Application对象,使用Cookie能持久化保存用户信息。Cookie保存在客户端,而Session和Application保存在服务器端,故Cookie能长久保转载 2020-06-21 15:58:17 · 426 阅读 · 0 评论 -
缓存 redis
下载地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100运行:redis-server.exe redis.windows.confredis-cli.exe -h 127.0.0.1 -p 6379服务命令redis-server --service-install redis.windows-service.conf --loglevel verboseredis相当于一个数据库,数据存在内存中,用于缓存使原创 2020-06-21 10:18:25 · 155 阅读 · 0 评论 -
关于矩阵的算法
矩阵的最小路径和64[[1,3,1],[1,5,1],[4,2,1]]Given the above grid map, return 7. Because the path 1→3→1→1→1 minimizes the sum.class Solution { public int minPathSum(int[][] grid) { int m=grid.length,n=grid[0].length; for(int i=1;i<n;i++){原创 2020-06-16 16:13:34 · 784 阅读 · 0 评论 -
斐波那契数列
F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)指这样一个数列:1、1、2、3、5、8、13、21、34、……和:2^(n-1)爬楼梯70有 N 阶楼梯,每次可以上一阶或者两阶,求有多少种上楼梯的方法。定义一个数组 dp 存储上楼梯的方法数(为了方便讨论,数组下标从 1 开始),dp[i] 表示走到第 i 个楼梯的方法数目。第 i 个楼梯可以从第 i-1 和 i-2 个楼梯再走一步到达,走到第 i 个楼梯的方法数为走到第 i-1 和第 i-2原创 2020-06-16 11:28:40 · 150 阅读 · 0 评论 -
Spring IOC AOP
IOC控制反转DI依赖注入spring容器创建对象/业务逻辑层代码public class UserService{ //调用dao,创建dao的对象 private UserDao userdao; public void setUserDao(UserDao userDao){ this.userDao=userDao; } public void userRegister(User user){ //userDao.任何方法或者属性均会空指针 }<beans&原创 2020-06-01 22:44:31 · 117 阅读 · 0 评论 -
String StringBuilder StringBuffer
String不可变类,一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的.String a = "1";a = "4";System.out.println(a)//4再次赋值时,在堆内重新开辟内存空间,a指向新的对象。**charAt(int index) 返回指定索引处的 char 值** compareTo(String anotherString) 按字典顺序比较两个字符串 compareToIgnoreCase(String str) 按字典顺序比较两个字符串原创 2020-06-01 14:13:47 · 90 阅读 · 0 评论 -
计算机JQuery
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> input { width: 395px; height: 80px; color: ...原创 2020-04-01 23:23:53 · 250 阅读 · 0 评论 -
vue 前端
原生的Ajax请求<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <script src="js/jquery.js" type="text/javascript" charset="utf-8"></s...原创 2020-04-01 23:12:25 · 162 阅读 · 0 评论 -
Ajax和JSON
login<form action="#" method="post" id="myForm">用户名:<input type="text" id="uname" name="usename" value="" /><br>密码:<input type="text" id="upwd" name="password" value="" />...原创 2020-03-23 15:56:07 · 98 阅读 · 0 评论 -
JQuery
“$”就是jQuery当中最重要且独有的对象:jQuery对象var btn=$('#btn');btn.css('background','red');//css()这个方法调用完毕,返回的还是Jquery对象,可以链式编程。$('#btn').css('background','red').css('font-size','50px').css('width','100px');加载...原创 2020-03-23 10:51:37 · 127 阅读 · 0 评论 -
前端 css
1 选择器a)类选择器 .p1{ color:red } <p class="p1">查看文字内容</p>b)id选择器#div1{ width: 200px; height: 200px; background: yellow; } <div id="div1"> 111 </div&...原创 2020-03-18 20:26:57 · 108 阅读 · 0 评论 -
前端 表单验证
<!DOCTYPE html><html> <head> </head> <body> <div> <form name="" action="#" onsubmit="return checkForm()"> 用户名:<input type="text" name...原创 2020-03-14 21:03:02 · 144 阅读 · 0 评论 -
前端 HTML
表单<!-- form 表单标签 action="" 表单往后台提交的一个地址 method="post" 请求方式 get:会把表单中的数据以键值对的形式拼接在地址栏后面 提交给后台 username=zhangsan&password=123456&sex=男 提交的数据大小有限制。 post:把请求参数放到请求体里面提交给后台。提...原创 2020-03-06 17:50:20 · 119 阅读 · 0 评论 -
java斗地主
public class 斗地主排序版 {public static void main(String[] args) {//创建一个双列集合HashMap<Integer, String> pokerBox = new HashMap<>();//创建一个索引集合ArrayList indexs = new ArrayList<>();String...原创 2020-03-06 00:23:01 · 148 阅读 · 0 评论 -
java集合
1 Collection中的常用功能boolean add(Object e): 向集合中添加元素void clear():清空集合中所有元素boolean contains(Object o):判断集合中是否包含某个元素boolean isEmpty():判断集合中的元素是否为空boolean remove(Object o):根据元素的内容来删除某个元素int size():获取集...原创 2020-03-06 00:11:31 · 105 阅读 · 0 评论 -
lambda表达式以流
Lambda表达式,一种新的语法,可以对匿名内部类进行简写Integer[] arr={200,20,25,62}; Comparator<Integer> comparator = new Comparator<Integer>() { @Override public int compare(Integer a, Integer b...原创 2020-02-24 23:20:29 · 176 阅读 · 0 评论 -
新增日期API
获取当前的日期 通过静态方法 now() 返回该类的实例LocalDateTime now = LocalDateTime.now();//2020-02-24T09:06:37.861System.out.println(now);指定日期 静态方法 of() 返回改类的实例LocalDateTime localDateTime = LocalDateTime.of(2025, 12,...原创 2020-02-24 23:05:33 · 183 阅读 · 0 评论 -
java枚举
//枚举:指定是一个类中,存在几个固定的该类对象,用来描述几个固定值//比如方向:前后左右。//JDK1.5 之前需要自己定义 Direction front = Direction.front; Direction behind = Direction.behind; Direction left = Direction.left; Direction right ...原创 2020-02-23 16:34:26 · 82 阅读 · 0 评论 -
java反射
类的加载加载:就是指将class文件读入内存,并为之创建一个Class类。任何类被使用时系统都会建立一个Class对象。类加载器的概述:负责将.class文件加载到内在中,并为之生成对应的Class对象。反射获取class文件对象的三种方式a:Object类的getClass()方法Object obj = new Object();Class aClass = obj.getCla...原创 2020-02-23 15:59:12 · 130 阅读 · 0 评论 -
网络编程UDP与TCP
网络编程三要素1 IP地址:InetAddress: 网络中设备的标识,不易记忆,可用主机名IP地址 = 网络地址+主机地址A类IP地址:第一段号码为网络地址,剩下的三段号码为本地计算机的号码1.0.0.1—127.255.255.254(1)10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址)(2)127.X.X.X是保留地址,用做循环测试用的。B类...原创 2020-02-21 19:17:03 · 164 阅读 · 0 评论 -
线程与进程
//线程:我们在说线程之前,要想说进程整个概念,因为线程要依赖于进程。//进程:就是正在运行的应用程序,是系统进行资源分配和调用的独立单位。// 每一个进程都有它自己的内存空间和系统资源。,// 我们现在的计算机,它支持多进程。//并发:多个任务高速的交替执行,一个时刻,只能执行一个任务,但是因为多个任务,高速的交替执行,感觉上给你是多个任务同时执行://并行 : 指...原创 2020-02-18 22:28:38 · 100 阅读 · 0 评论 -
io其他流
数据输入流:DataInputStream数据输出流:DataOutputStream特点:可以写基本数据类型, 可以读取基本数据类型 DataInputStream dis = new DataInputStream(new FileInputStream("a.txt")); boolean b = dis.readBoolean(); dou...原创 2020-02-17 18:48:46 · 90 阅读 · 0 评论 -
IO字节流与字符流
字符流输出流 //1.创建文件输出流对象,并且关联a.txt FileOutputStream out = new FileOutputStream("a.txt"); //2.往文件中写入数据 out.write(99); //一次写入一个字节 out.write();//一次写入一个字节数组 String str="我爱你中国"; ...原创 2020-02-15 17:53:21 · 133 阅读 · 0 评论 -
java数组
数组的介绍数组动态初始化:int[] arr=new int[5];数组静态初始化: int[] arr=new int[]{10,20,30,40,50};数组与排序数组遍历:for(i=0;i<arr.length-1;i++){}数组反向遍历:for(i=arr.length-1;i>=0;i–){}获取数组中元素的最大值与最小值:for(i=0;i<arr....原创 2020-02-10 17:59:55 · 157 阅读 · 0 评论