- 博客(29)
- 收藏
- 关注
原创 小米手机与HBuilder连接的问题解决
(1)手机与电脑未用USB数据线连接(2)电脑上需要安装电脑版的手机助手,帮助手机顺利连接上(用安卓手机联调的话可安装360手机助手,若用iPhone的话可安装iTools)(3)电脑需要进行配置,当然手机也需要啦,打开手机 “设置”-------> 其他设置 -------->开发者选项 --------> 需开启‘"开发者选项"和"USB调试"选项...
2022-04-13 16:11:54
1451
原创 【ACM】处理数组
题目第一行T,代表即将输入T个矩阵第二行开始就是T个矩阵,矩阵前有它们的行数和列数m和n随后跟着m行矩阵内容,每一行都是n个数字比如24 41 2 3 45 6 7 81 2 3 45 6 7 81 20 1T=2,思路java中用ArrayList来保存数组,是没办法转成静态数组arr的,所以需要想办法解决原来ACM格式的输入,一旦遇到很多个数组 ,那需要单独拿函数处理一个矩阵,在主函数中循环T次读取,每次读取一个矩阵,立马处理然后打印输出结果,下一次调用函数时,a
2022-04-13 01:39:42
263
原创 【ACM】俄罗斯套娃信封问题
题目给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。注意:不允许旋转信封。思路:动态规划当前信封的宽度和高度均大于前面的信封,即可将前面的信封包住,则信封数加1。因此,我们首先按照宽度进行从小到大排序,之后再看
2022-04-13 01:08:58
195
原创 第二章 构建websocket服务器
ajax轮训,浏览器每隔一段时间发送信息到后端,问有没有数据更新Long pull,阻塞,客户端发起请求后,服务器不响应的话就卡在那里websocket:基于HTTP1.1,持久化,一旦链接(一次HTTP请求),服务器可以不断推送消息给客户端...
2022-04-12 02:56:47
609
原创 第1章 利用netty写第一个hello netty
1.构建Hello服务器1.构建一对主从线程组(除此之外有单线程,多线程)2.定义服务器启动类:设置主从组,设置nio双向通道,子处理器3.设置助手类初始化器4.监听启动和关闭服务器package com.imooc.netty;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.n
2022-04-11 21:19:32
293
原创 ACM输入输出
1.输入包括两个正整数a,b(1 <= a, b <= 1000),输入数据包括多组。import java.util.*;import java.io.*;public class Main{ public static void main(String[] args) throws Exception{ br2(); } public static void br2() throws Exception{ BufferedReader in=ne
2022-04-07 17:54:50
702
1
原创 解决SpringMVC无法找到(No mapping found for HTTP request with URI)问题
spring-web.xml和src/main/webapp/WEB-INF/web.xml文件中寻找错误。找了好半天web.xml, <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-*.xml</param-value>//这里一直错误
2022-04-02 22:59:10
717
原创 一个控制台乱码的思考
最开始搭建好SSM和logback后,控制台乱码,当时以为是Tomcat的问题,所以采用Tomcat Tomcat的中文乱码设置 - 李宗盛 - 博客园解决了乱码问题。但是后来和数据库做交互的时候,数据库本身插入数据不会乱码,交互时会乱码且乱的只是插入数据,其他日志正常,当时找不到原因。后来编辑图片处理类的时候,程序提取中文地址乱码,找不到原因。后来尝试直接打印中文还是乱码,猜测控制台问题。解决:注意每一处GBK和UTF8的位置...
2022-04-01 01:47:44
588
原创 剑指offer5----搜索算法
53 数字在升序数组中出现的次数给定一个长度为 n 的非降序数组和一个非负数整数 k ,要求统计 k 在数组中出现的次数要求:空间复杂度O(1),时间复杂度O(logn)思路:二分法。1.mid=array.length/2 ; 分成[0,mid] [mid+1;length-1] if(array[mid]<k) 则对[mid+1;length-1]二分,否则在[0,mid]二分。2.设置-1,以说明没找到,没找到就回03.找到mid 后,看之前之后一位在...
2022-02-09 01:20:35
425
原创 最长子序列
1. 最长递增子序列(注意不连续)给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。1)动态规划dp[i]--------到i为止包括i递增子序列的长度,最后一位必须包括nums[i]dp[i]=Math.max(dp[0],dp[1],....,dp[i-1])+1;if(nums[i]>nums[j]) dp
2022-01-31 03:05:28
1585
原创 剑指offer2.2
1.不用加减乘除做加法思路: 1.不进位加法:异或 a^b2.进位加法:与+左移1 a&b<<13.直到进位的为0为止public class Solution { public int Add(int num1,int num2) { if(num1==0) return num2; if(num2==0) return num1; int result=0; int carry=0; wh
2022-01-22 03:18:34
59
原创 剑指offer2.1
位运算1)概念1】& 与运算 两个位都是 1 时,结果才为 1,否则为 02】| 或运算 两个位都是 0 时,结果才为 0,否则为 13】^异或运算,两个位相同则为 0,不同则为 14】~ 取反运算,0 则变为 1,1 则变为 05】<< 左移运算,向左进行移位操作(乘),高位丢弃,低位补 0int a = 8;a << 3;移位前:0000 0000 0000 0000 0000 0000 0000 1000移位后:0000 000...
2022-01-20 20:41:27
4753
原创 剑指offer1
1.打印从1到最大的n位数输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。1. 用返回一个整数列表来代替打印2. n 为正整数,0 < n <= 5思路:输入3,则最大999;输入2,则最大99;输入1,最大9(输入0也是)返回整数列表,所以用数组public class Main { public static void main(String []args) { S
2022-01-20 03:23:58
112
原创 HTML相关知识(1)
<head> 标签作用:定义文档的头部,头部元素的容器。<head> 中的元素可以引用脚本、指示浏览器在哪里找到样式表、提供元信息等等。文档的头部描述了文档的各种属性和信息----文档的标题、在 Web 中的位置以及和其他文档的关系等。绝大多数文档头部包含的数据都不会真正作为内容显示给读者下面这些标签可用在 head 部分:<base>,<link>,<meta>,<script>,<style>, 以及&...
2021-11-22 01:35:06
227
原创 仿微信开发笔记(第七章)
1.准备工作1.1导入处理响应消息的类 BMoocJSONResult.class 作用:提供给门户,ios,安卓,微信商城用的 , 门户接受此类数据后需要使用本类的方法转换成对于的数据类型格式(类,或者list)package com.bmooc.utils;/*自定义响应数据结构 * 这个类是提供给门户,ios,安卓,微信商城用的 * 门户接受此类数据后需要使用本类的方法转换成对于的数据类型格式(类,或者list) * 其他自行处理 * 200:.
2021-11-20 17:30:24
253
原创 Base64类
Base64编码是从二进制值到某些特定字符的编码,这些特定字符一共64个,所以称作Base64。所以其实质是将二进制数据转换成文本数据的方案;对于非二进制数据,则是把它转换成二进制,再每连续6比特(2^6)计算其十进制值,根据该值在上面的索引表中找到对应字符,最终得到一个文本字符串。每3个原始字符经Base64编码成4个字符,编码前后长度比4/3。如果原始字符串长度不能被3整除,那使用0值来补充原始字符串。为什么不直接传输二进制呢?比如图片,或者字符,既然实际传输时它们都是二进制字节流。而且即使Ba
2021-11-20 01:43:48
443
原创 仿微信开发笔记(第六章)6.5整合netty server入springboot且测试
1.导入netty依赖 <!-- netty依赖 --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.25.Final</version> </dependency&
2021-11-19 19:29:56
355
原创 仿微信开发日记(第六章)---6.4maven加速依赖
settings.xml是核心配置文件,repository是仓库地址zai1.配置settings.xml文件注:XML 在线格式化 | 菜鸟工具可以格式化xml中的缩进空格<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XM...
2021-11-18 17:38:15
79
原创 仿微信开发日记(第六章)---6.3搭建springboot2.0工程
1.配置pom文件<?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
2021-11-18 15:51:03
186
原创 仿微信开发日记(六)
6.1 设计数据库表 我用的mysql 8,登录进去创造数据库以及表: weixin-dev下:users,my_friends,friends_request,chat_msg6.2逆向转化工具1.pom中加入依赖<!-- mybatis 逆向生成工具 --> <dependency> <groupId>org.mybatis.generator</groupId>...
2021-11-18 02:52:05
453
原创 仿微信开发笔记(第5章)
MUI,H5 PLUS(JS),Hbuilder开发工具利用MUI开发APP:MUI-最接近原生APP体验的高性能前端框架
2021-11-17 17:08:55
157
原创 Netty(1)
1、什么是NettyNetty 是一个异步的(基于多路复用的)、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端2、Netty的优势如果使用传统NIO,其工作量大,bug 多需要自己构建协议 解决 TCP 传输问题,如粘包、半包 因为bug的存在,epoll 空轮询导致 CPU 100%Netty 对 API 进行增强,使之更易用,如FastThreadLocal => ThreadLocal ByteBuf => ByteBuffer二、
2021-11-14 19:35:30
494
原创 SpringBoot学习笔记(五)配置文件
1.properties2.yaml:标记语言1)语法:key: value; 对大小写敏感,用缩进表示层级关系,但缩进只允许空格,相同层级的左元素必须对齐;#表示注释;单引号和双引号表示字符串内容会被转义和不转义注意::/-后面得加空格''会把\n作为字符输出,“”则会将其换行输(双引号不会改变语义,单引号会转义)引入依赖 <dependency> <groupId>org.springframework.boot</gro
2021-11-11 01:50:56
50
原创 SpringBoot学习笔记(四)开发小技巧
1.Lombok作用:简化JAVABean的开发,方便不用写get,set,toString方法,使用注解它们会在编译的时候自动启用 1.引入依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>2.搜索安装Lo
2021-11-03 02:42:36
60
原创 2021-11-03
3.4、最佳实践引入场景依赖 Developing with Spring Boot 查看自动配置了哪些(选做) 自己分析,引入场景对应的自动配置一般都生效了 配置文件中debug=true开启自动配置报告。Negative(不生效)\Positive(生效) 是否需要修改 参照文档修改配置项 Common Application Properties 自己分析。xxxxProperties绑定了配置文件的哪些。 自定义加入或者替换组件
2021-11-03 01:59:26
42
原创 SpringBoot学习笔记(三)
注解:@Configuration----1.定义配置类,告诉Boot这是一个配置类 2.有boolean proxyBeanMethods() default true;-------代理bean的方法 * Full(proxyBeanMethods=true):有依赖关系,方法会调用得到之前单实例组件,用full模式 * lite(proxyBeanMethods=false):配置类组件没有依赖关系的话用这个可以加速进程 * 组件依赖@B..
2021-11-03 00:06:59
52
原创 SpringBoot学习笔记(二)
SpringBoot特点1.依赖管理:其父项目几乎声明了开发中常用的依赖版本号,自动版本仲裁机制:使得无需指定版本号,自动仲裁即可2.开发导入starter场景启动器1.只要引入启动器,这个场景的所有常规需要的依赖我们都自动导入2.*-spring-boot-starter,第三方为我们提供的简化开发的场景启动器3.spring-boot-starter-*4.修改版本号:1)检查当前所用的版本 2)<properties>
2021-11-02 00:04:35
57
原创 Springboot学习笔记(一)
注意第一个Helloworld项目:浏览发送/hello请求,响应hello,SpringBoot 2原始SSM:MVC麻烦1.创建Maven工程2.引入依赖 <!--导入Springboot--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent<..
2021-11-01 23:20:31
71
原创 仿微信开发笔记(第二章)
IO流读取入堆,要经历缓冲区,即数据拷贝两次,数据量大会造成资源的浪费Netty---NIO客户端服务端框架,快速开发基于网络的应用程序,可以简单的开发UDP,TCP;零拷贝阻塞和非阻塞:线程在访问资源时,依据资源是否准备就绪而引发的处理方式。阻塞指线程持续等待资源处理完毕直到它响应返回结果;而非阻塞指线程直接返回结果,线程不会等待资源处理完毕,而是去请求别的资源。同步和异步:访问数据的机制。同步指主动请求,并且等IO操作完成后有一个通知返回给线程后,线程才能进行下一个请求;异步指线程请求后可以
2021-10-08 23:22:50
77
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人