java
文章平均质量分 50
_wdk
这个作者很懒,什么都没留下…
展开
-
打印以及构建螺旋矩阵Java
LC刷题记,图一乐,高频题。螺旋矩阵两题LeetCode-54.螺旋矩阵(顺时针打印)LeetCode-59.螺旋矩阵Ⅱ(顺时针构建)LeetCode-54.螺旋矩阵(顺时针打印)给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11原创 2021-03-16 09:07:09 · 310 阅读 · 0 评论 -
快速幂Java实现
Java快速幂实现lc刷题看见的,算法并非原创,写的很简洁。因为自己写的普通迭代碰到了阴间测试用例这里放一种很好理解的快速幂算法: public double myPow(double x, int n) { double result = 1.0; for (int i = n; i != 0; i /= 2, x *= x) {//为偶数时不计算 两倍扩大底数 指数缩小为一半 if (i % 2 != 0) {//相当于求pow(2,10)有2*2*2*原创 2021-03-09 11:51:38 · 296 阅读 · 0 评论 -
栈和队列的相互实现(练习自用)
栈和队列1.用栈实现队列2.用队列实现栈1.用栈实现队列栈是先入后出,队列是先入先出。根据这个思想,可以用一个栈作为入队,另一个栈作为出队。只要把第一个栈的栈顶的元素压入第二个栈就好了,出队的时候输出第二个栈的栈顶,如果第二个栈的空了就需要不断操作从第一个栈的栈顶压入第二个栈,但是如果第一个栈也空了,那就说明所有元素都输出来了public class StackQueue { /** * 栈是先入后出,队列是先入先出。根据这个思想,可以用一个栈作为入队,另一个栈作为出队。只要把第一个原创 2020-10-09 16:57:28 · 186 阅读 · 0 评论 -
面试常见五种排序算法
手撕代码准备1.冒泡排序2.选择排序3.插入排序4.快速排序5.归并排序1.冒泡排序思路:两两交换,大的放在后面,第一次排序后最大值已在数组末尾。因为俩俩交换,需要n-1趟排序(比如10个数,需要9趟排序)代码实现要点:两个for循环,外层循环控制排序的趟数,内层循环控制比较的次数。空间复杂度O(1) 时间复杂度O(n²)稳定性:稳定public class 冒泡排序 {//空间复杂度O(1) 时间复杂度O(n²) public static void main(String[] a原创 2020-08-14 13:36:18 · 298 阅读 · 0 评论 -
有关多线程的手撕代码(Java)
有关多线程的手撕代码1.使用多线程循环输出ABCD1.1.通过自旋暴力实现1.2.通过Condition有序执行2.生产者消费者简单模型1.使用多线程循环输出ABCD1.1.通过自旋暴力实现通过线程池(规范禁止显示的创建线程)以及加锁来实现循环输出ABCD。public class 循环输出ABCD { //使用java方法获得电脑核心数,用来设置线程池 static final int core=Runtime.getRuntime().availableProcessors();原创 2020-08-14 10:04:08 · 505 阅读 · 0 评论 -
HashMap源码阅读jdk1.8(dark)
说明:终于还是开始整理源码了。为了保证客观性和可读性,大部分代码采用截图和文字注释的形式。只整理了重要方法。一些问题的解释放在最后。HashMap(jdk1.8)1.默认参数1.1.默认大小1.2.最大容量1.3.填充因子(扩容阈值)1.4.链表转换为红黑树时的结点数目1.5.红黑树转换回链表的结点数目1.6.发生红黑树转换的最小大小1.7.基本构成:Node结点(1.7版本应为Entry结点)1.8.基本结构:table数组2.基本方法2.1.hash的实现2.2.基本构造方法2.3.get()以及g原创 2020-06-17 20:04:38 · 368 阅读 · 1 评论 -
linux启动elasticsearch6.4.0内存不足导致报错
尝试使用阿里云服务器通过docker部署springboot后端项目,今日一坑,debug三四个小时。问题描述:elasticsearch:6.4.0启动后报错并停止。通过查看日志:docker logs --since 30m (elasticsearch的id)查看报错信息(其中一条)OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000083e80000, 1366294528, 0) failed;最后通过修改原创 2020-06-04 17:25:25 · 689 阅读 · 0 评论 -
Android实验三:通过Activity传值实现加法
移动互联网实验三1.实验讲义2.代码实现2.1.文件结构2.2.main界面2.3.scound界面2.3.MainActivity2.4.SecoundActivity3.效果4.总结和改进1.实验讲义实验三 Android编程基础——Activity(2课时)一、实验目的1、学习android程序多个Activity的开发方法。二、实验内容1、编写一个程序,可在第一个Activity中输入两个整数,单击“计算”按钮后,在第二个Activity负责求和计算,并将结果显示在第一个Activity原创 2020-05-28 22:43:33 · 3977 阅读 · 3 评论 -
为什么springboot新建项目用的是旧图标??
新建项目的resources/static下并没有设置favicon.ico,但是为什么运行的时候显示的任然是上一个项目的favicon.ico图标。即使我在上个项目将这个图标文件删除了。请问是在哪有缓存吗?1.新项目static下没有图标文件2.运行之后8080端口仍然为上个项目的图标(即使已经把上个项目的这个图标文件删除)3.通过yml修改端口重启项目,发现新的端口使用的依旧是叶子图标??这是为什么,图标是覆盖绑定端口的吗?4.翻了好多文章,暂时都没有找到问题原因,已经尝试过清理浏览器缓存原创 2020-05-26 17:01:56 · 273 阅读 · 0 评论 -
SpringBoot的DELETE请求报错问题
又是因为版本问题。我的版本是前端通过DELETE请求传给控制层。结果报错:错误原因为:Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘POST’ not supported]参考原因:浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持G原创 2020-05-24 23:44:35 · 2228 阅读 · 1 评论 -
SpringBoot从零开始的填坑笔记一
SpringBoot学习笔记1.环境搭建1.1.通过maven搭建项目1.2.通过IDEA的Spring Initializr搭建项目2.第一个HelloWorld程序3.项目打包成jar包三级目录1.环境搭建1.1.通过maven搭建项目首先idea创建maven项目,next→next→finish。然后在pom.xml中导入依赖:放在标签内即可 <parent> <groupId>org.springframework.boot</groupI原创 2020-05-20 18:20:16 · 343 阅读 · 0 评论 -
Java单例的实现和分析(双重校验锁的破坏)
设计模式:单例模式1.基本概念2.代码实现2.1.饿汉式(即时创建对象)2.2.懒汉式(使用时才创建对象)2.2.1.线程不安全的懒汉式2.2.2.线程安全的懒汉式2.3.final实现方式(了解)3.双重校验锁(DCL,即double-checked locking)3.1.DCL代码实现3.2.使用volatile的原因(禁止指令重排序)1.基本概念目的: 保证类在内存中只有一个对象,可以直接访问,不需要实例化该类的对象注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3原创 2020-05-17 22:50:38 · 633 阅读 · 0 评论 -
计算机网络实验三(java代码实现RIP)
计算机网络课程的实验1.距离向量算法1.1.执行步骤2.实验讲义2.1.讲义截图2.2.实验要求3.代码实现3.1.路由类(用来表示单条路由)3.2.路由表类(用来表示单个路由表)3.3.路由表一次更新方法3.4.递归更新到任一目的网络不可达3.5.测试类1.距离向量算法距离向量路由算法要求,每个结点都参与定期交换整个路由表,即把路由表传递给自己与之相连的结点。首先,当前路由表的组成如下,<目的网络 N,跳数,下一跳地址>1.1.执行步骤从相邻的 X 路由器接收发送过来的 RIP(R原创 2020-05-11 14:54:16 · 4159 阅读 · 2 评论 -
Spring-framework复习笔记二(基于注解的IOC)
Spring框架复习笔记二1.接上篇 基于注解的IOC1.1.注解的测试demo2.2.常用注解用于创建对象的注解用于注入数据的注解用于改变作用范围的注解和生命周期相关的(了解即可)1.接上篇 基于注解的IOC1.1.注解的测试demospring官方xml约束首先删除xml相关配置。在xml文件中加入注解相关的约束。并且使用context:component-scan标签表明要扫描的使用注解的包名。maven项目。结构如下:xml配置如下:<?xml version="1.0" en原创 2020-05-10 22:15:34 · 221 阅读 · 0 评论 -
Spring-framework复习笔记一(IOC,bean以及DI)
Spring框架复习笔记一1.耦合概念以及解耦1.1.两个例子:JDBC连接以及持久层业务层调用关系1.2.解耦的思路:通过工厂模式解耦(手动实现)2.使用SpringIOC解决耦合(将对象的创建交给spring)2.1.基本实现2.1.1.ApplicationContext的三个实现类2.1.2.核心容器BeanFactory和ApplicationContext有什么区别3.XML文件的配置3.1.bean标签3.2.bean的作用范围和生命周期3.3.实例化bean的三种方式4.Spring的依赖注原创 2020-05-10 00:30:38 · 316 阅读 · 0 评论