- 博客(60)
- 收藏
- 关注
原创 idea创建maven-archetype-quickstart框架无法显示src/目录
4、修复No archetype found in remote catalog. Defaulting to internal catalog。登录https://repo1.maven.org/maven2/,下载archetype-catalog.xml。将文件保存到(本地仓库中的org\apache\maven\archetype\)将内容复制到文件,并命名为archetype-catalog.xml。2、配置好Maven环境变量M2_HOME。一、配置好idea中Maven目录。
2024-03-20 17:40:29 591
原创 Python 源码方法下面都是pass
2、这个函数的具体实现不用Python编写,而是由例如C这种高效语法编写,在包中只用一个空方法占位,调用的时候是调用C语言实现的方法。Python中有一些需要大量运算的内置函数是用C或者C++写的。Python的解释器有c java python等多种实现,一般情况下只要不搞些奇怪的操作,c语言实现的CPython就能满足几乎所有要求,这也是官方提供的默认实现。因此就假设使用的是CPython,那么作为解释器标准实现的一部分,那些个内置函数也是用c语言实现的,也就是说,正常情况下你是连pass也看不到的。
2023-08-04 15:23:13 612
原创 git merge 和rebase区别
Rebase 则是重新基于一个分支进行 commit,即将当前分支从祖先的 commit 后所提交的 commit 均撤销,将他们放到一个缓存中,然后基于一个分支的后面,将缓存的 commit 按照顺序以一个个新增到该分支后面,用图表示如下,将 4 和 5 所提交的 commit 放到缓存中,然后按顺序将其新增到 6 的后面。找到两个分支的祖先 commit,然后将公共分支最新版合并到自己的分支,形成一个新的 commit 提交,用图表示如下。
2023-08-04 14:44:19 1071
原创 springmvc中filter的详解及应用案例
Filter可认为是Servlet的一种“变种”,它主要用于对用户请求(HttpServletRequest)进行预处理,也可以对服务器响应(HttpServletResponse)进行后处理,是个典型的处理链。 它与Servlet的区别在于:它不能直接向用户生成响应。完整的流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。在HttpServletRequest到达Servlet之前,拦截客户的HttpServletR
2022-07-08 20:04:56 2807
原创 ThreadLocal理解
一、介绍ThreadLocal,顾名思义,线程本地变量,只属于当前线程,其他线程无法获取这个变量,是隔离的。不同线程虽然有相同的变量名,但是实际地址各不相同。每个线程都有自己的一个副本。二、源码分析//获取值 public T get() { Thread t = Thread.currentThread(); ThreadLocalMap map = getMap(t); //从当前线程获取的成员变量是否为空 if (map
2022-07-07 07:18:52 206
原创 idea git Stash Changes和UnStash Changes用法
idea git stash changes unstash changes 使用
2022-06-22 15:58:00 957
原创 RestTemplate get请求使用占位符避免代码内部拼接URL地址
RestTemplate get请求使用占位符避免代码内部拼接URL地址
2022-06-22 12:40:52 884
原创 java spi
一、SPI 是什么?SPI机制(Service Provider Interface)其实源自服务提供者框架(Service Provider Framework,参考【EffectiveJava】page6),是一种将服务接口与服务实现分离以达到解耦、大大提升了程序可扩展性的机制。引入服务提供者就是引入了spi接口的实现者,通过本地的注册发现获取到具体的实现类,轻松可插拔。二、数据库加载Demopublic class Demo1 { private static String DB_UR
2022-05-30 00:15:48 136
原创 Java 摘要算法
一、什么是摘要算法摘要算法是一种加密算法,摘要算法就是对指定数据进行一系列的运算,然后得出一串内容,该内容就是该数据的摘要,不同的数据产生的摘要是不同的,可以用它进行一些数据加密。通过对比两个数据加密后的摘要是否相同,判断这两个数据是否相同。特点:唯一性:任何不同的消息计算出的消息摘要绝对不相同。哪怕仅仅变化了一个字符,产生的结果也是天差地别。不可逆性:仅仅通过消息摘要计算的数据,永远无法还原最原本的消息是什么。长度固定:不管消息消息多长,都能得出固定长度的短消息常见的摘要算法:MD和SH
2022-05-26 17:10:09 1601
原创 idea自动生成serialVersionUID
一、idea配置1、ctrl+alt+s–>serial查找,勾选红色框中两个选项,并应用二、创建测试类,实现Serializable接口按住Alt+enter,添加serialVersionUID
2022-05-20 16:20:40 506
原创 java遍历数组与集合
一、遍历数组1、for循环遍历 public static <T> void showArray(T[] t){ for (int i = 0; i < t.length; i++) { System.out.println(t[i]); } }2、Arrays.toString() public static <T> void showArray2(T[] t){ Syste
2022-05-16 22:29:35 340
原创 springmvc request与response获取
request与response是Tomcat服务器在收到客户端请求后自己生成的,无需我们自己创建,但是在使用的时候可以有以下三种方式去获取1、Controller直接使用方法上直接使用,通过DispatcherServlet将参数传到MethodHandler直接使用 @RequestMapping(path = {"/test10"}, method = RequestMethod.POST) @ResponseBody public BaseRes test10(HttpS
2022-05-04 14:19:35 1716
原创 java web 会话cookie与session
一、为什么需要Cookie和SessionHttp请求时无状态请求,每个请求都是隔离的,无法区分用户的状态。但有时需要区分用户的状态,是否已经登陆过,是否发过请求。会话技术就是为了识别用户请求的状态,知道请求的用户是谁。二、HttpSession服务器端会话,一般通过request.getSession()获取到Session对象。当用户第一次调用getSession()时,如果不存在session,就会通过ManagerBase#createSession(sessionid)创建session
2022-05-04 12:59:30 505
原创 springmvc开发web项目知识
1、form表单提交如果不指定method,则会按照get方式提交,后台可以直接使用java对象接收,也可以根据字段名分别进行接收 <form action="savePerson" > <p>姓名:<input type="text" name="name"><br></p> <p>年龄:<input type="text" name="age"><br></p&g
2022-05-02 11:54:28 510
原创 springmvc 转发与重定向的区别
一、使用springmvc资源路径知识:相对路径:"/"代表Web站点的根目录"./"代表当前目录"../"代表上级目录1、转发的方式1)第一种直接返回视图地址 @RequestMapping(path = "/v1/index1", method = RequestMethod.GET) public String index() { return "index"; }2)通过forward转发使用forward转发需要注意的是,无法使用ht
2022-05-01 19:58:29 201
原创 springmvc出现Json对象无法解析解决
1、添加maven依赖<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.13.2</version> </dependency> <dep
2022-05-01 01:26:41 636
原创 springboot为什么返回Whitelabel Error Page
springmvc返回Whitelabel Error Page是因为1、请求路径不对;2、返回的视图对象无法解析当找不到对应资源的时候,TemplateManager无法解析视图名时,会抛出异常Error resolving template [index1], template might not exist or might not be accessible by any of the configured Template Resolvers,Tomcat会捕获异常,然后发起一个/de
2022-04-30 21:39:55 2560
原创 idea 部署web项目无法找到资源文件
一、Modules模块web项目需要创建web结构,同时需要去确认部署描述文件和web资源文件目录,这个需要和你的项目目录相对应。二、Artifacts1、需要选择web Applicaiton Exploded:From Moduled2、output directory:部署目录,idea部署目录可以定义,不用一定部署在Tomcat 的webapps目录下,如果你想要部署在Tomcat目录下,可以自己修改地址,这个会在idea内置Tomcat目录生成一个xml文件C:\Users**.In
2022-04-30 21:33:47 2273
原创 IDEA 部署web工程到tomcat时运行按钮变灰
1、重新创建tomcat服务,需要选择tomcat 服务器选定artifact,部署如果没有artifact,在project structure中,配置一下,需选择Web Application Exploded fromModules如果以上都配置好了,还是灰色的话,关闭idea,重新打开,不一定对所有人有效,我这就是这样。...
2022-04-30 17:45:28 3392 1
原创 类上加@RequestMapping无法找到静态文件
一、问题描述:在控制层加了 @RequestMapping(“index”)后,导致静态资源访问不到。@Controller@RequestMapping("index")//类上加@RequestMapping无法找到静态文件public class ViewController { @RequestMapping("/hello/thymeleaf") public String hello(Model model) { model.addAttribute("
2022-04-28 00:06:01 1302 1
原创 Springboot无法加载本地配置文件
1、未设置resources目录解决方案1:解决方案2:在pom文件中build标签内插入一下内容<resources> <!-- 该节点会扫描src/main/java目录,若该目录下有配置文件,则需要添加以下配置,保证文件能够被扫描和加载到 --> <resource> <directory>src/main</directory>
2022-04-26 21:16:37 2746 1
原创 java并发包
一、原子变量原子类,存在于java并发原子包中,包含AtomicInteger、AtomicLong、AtomicBoolean、原子引用等。作用:将一些组合操作用原子操作代替,满足多线程同步。1、原理原子类底层通过CAS操作达到原子操作,CAS ,全名compareAndSet()方法,它会先获取原值,然后进行修改后,在更新时,将期望值与原值做比较,如果相同,则更新,返回true,否则返回false。AtomicInteger中,incrementAndGet()方法自增,内部是一个死循环,会
2022-04-04 11:45:16 1410
原创 java集合 LinkedList
一、实现接口1、DequeDeque:double ended queue,双端队列,允许在两边进行插入和删除元素Queue:队列,先进先出,在尾部插入元素,在头部删除元素。boolean add(E e);//在尾部插入元素,当队列满时,抛出异常boolean offer(E e);//在尾部插入元素,队列满时,返回falseE remove();//返回头部元素,并从队列中删除,当队列为空时,会抛出异常E poll();//返回头部元素,并从队列中删除,当队列为空时,会返回特殊值null
2022-03-22 21:03:02 106
原创 java集合ArrayList
一、ArrayList泛型容器,内部有一个数组elementData,有一个整数size记录实际的元素个数。1、扩容操作1)新增元素add(E e)minCapacity:最小大小,size+1;如果minCapacity-elementData.length>0;就需要扩容;newCapacity:elementData.length+(elementData.length>>1),1.5倍与原来容量的大小;如果newCapacity与minCapacity比较,哪个大用哪
2022-03-21 07:55:43 741
原创 java 异常以及springmvc全局异常处理
一、Throwable所有异常类的父类,下面分为Error和Exception两个子类Error表示系统错误或资源耗尽,由Java系统自己使用,应用程序不应抛出和处理Exception表示应用程序错误,它有很多子类,应用程序也可以通过继承Exception或其子类创建自定义异常二、 异常分类未受检异常:运行时异常RunningTimeException、Error及其子类也是未受检异常受检异常:Exception的其他子类和Exception自身,受检异常,java会强制要求程序员进行处理,否
2022-03-05 21:54:27 260
原创 java枚举
一、基础1、枚举类关键字enum2、不同值之间用逗号分隔;3、枚举类型可以定义为一个单独文件,也可以定义在其他类内部;4、枚举变量的toString()方法和name()fangfa 返回其字面值,二、相关方法 public static void main(String[] args) { Size size=Size.SMALL; System.out.println(size.toString());//SMALL System.out
2022-03-05 11:30:39 268
原创 java static作用
一、修饰类static修饰类时,只能修饰静态内部类,如果在外部类上声明为static,程序编译不通过。静态内部类特点:1、可以有外部类能够拥有的所有属性:静态变量、静态方法、静态代码块、成员变量、成员方法、构造方法;2、可以使用外部类的静态成员变量和静态方法(不管是否私有);但是无法访问成员变量和成员方法;3、public静态内部类可以被外部使用,只是需要通过“外部类.静态内部类”的方式使用(在同一个包内使用时,静态内部类无需声明为public也可以使用)。4、静态类内部也可以定义静态内部类,详
2022-03-01 23:31:59 3003
原创 Springboot启动流程
Springboot启动分为三个部分:1、初始化阶段此阶段会创建一个SpringApplication实例,并设置实例的资源、环境、监听器、构造器。2、应用启动过程该阶段会创建监听器模块、创建并设置环境实例(如果是servlet容器的话返回StandardServletEnvironment,其他返回StandardEnvironment)、设置banner、构建应用上下文对象。refreshContext()类似于Spring启动阶段,创建容器,加载bean到定义,加载bean等等,不过多了
2022-02-27 11:10:13 2969
原创 springbatch的使用
一、相关注解使用springbatch需要设置一些注解,方便使用@EnableBatchProcessing :自动补全一些相关属性EnableBatchProcessing provides a base configuration for building batch jobs. Within this base configuration, an instance of StepScope is created in addition to a number of beans made ava
2022-01-28 16:59:23 1808
转载 maven依赖jar包时版本冲突的解决
一、第一声明优先原则:在pom.xml配置文件中,若是有两个名称相同版本不一样的依赖声明,那么先写的会生效。因此,先声明本身要用的版本的jar包便可。二、路径近者优先:直接依赖优先于传递依赖,若是传递依赖的jar包版本冲突了,那么能够本身声明一个指定版本的依赖jar,便可解决冲突。三、排出原则:传递依赖冲突时,能够在不须要的jar的传递依赖中声明排除,从而解决冲突。四、版本锁定原则(最常使用)在配置文件pom.xml中先声明要使用哪一个版本的相应jar包,声明后其余版本的jar包一概不依赖。
2021-12-31 13:55:10 453
原创 浏览器发送POST请求
一、Chrome浏览器过滤POST请求按F12打开控制台,选择Network(),在Filter输入栏输入 method:POST,即可二、Chrome浏览器发送POST请求按F12打开控制台,选择Console,输入请求接口:> fetch(new Request('url',{ method:'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body:"param1=v
2021-12-16 14:41:27 43920 3
原创 时间戳转换时间方法
日常生产查询问题,需要将时间戳转换成时间,可以通过浏览器计算:通过F12打开开发者工具–>切到console控制台:输入new Date(),显示当前时间new Date().getTime():显示时间戳时间戳转标准时间new Date(1637061867920)–>转标准时间new Date(“2021-11-16 19:24:27.920”) -->转时间戳计算前一天时间戳...
2021-11-16 19:31:35 19086
原创 nginx匹配规则和优先级
语法规则location [=||*|^~] /uri/ { … }前缀匹配时,Nginx 不对 url 做编码,因此请求为 /static/20%/aa,可以被规则 ^~ /static/ /aa 匹配到(注意是空格)匹配优先级多个 location 配置的情况下匹配顺序为(参考资料而来,还未实际验证,试试就知道了,不必拘泥,仅供参考):精确匹配 =前缀匹配 ^~按文件中顺序的正则匹配匹配不带任何修饰的前缀匹配交给/通用匹配当有匹配成功时候,停止匹配,按当前匹配规则处理请求
2021-11-12 19:51:51 6259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人