
Java
文章平均质量分 64
xuruhua
少说多做
展开
-
Java-Java Web(二)
一、HelloServlet1、Servlet简介servlet就是sun公司开发动态web的一门技术sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤: 编写一个类,实现Servlet接口 把开发好的java类部署到web服务器中把实现了Servlet接口的java程序叫做Servlet2、HelloServlet(1)创建一个maven项目,删掉里面的src目录,可以在里面建立不同的m...原创 2021-10-26 18:18:16 · 137 阅读 · 0 评论 -
Java-JavaWeb(一)
一、基础1、基本概念1.1前言web开发:web:网页的意思:www.baidu.com静态web html,css 提供给所有人看的数据始终不会发生变化动态web 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同! 淘宝,几乎所有的网站 技术栈:Servlet/JSP,ASP,PHP在Java中,动态web资源开发的技术统称为JavaWeb1.2、w...原创 2021-10-26 17:25:54 · 363 阅读 · 0 评论 -
Java-注解与反射(Java.Annotation)
一、基础所有的类都继承自Object类1、注解入门2、内置注解eg:(1)@Override 重写的注解(2)@Deprecated:已经被淘汰,不推荐程序员使用,但是可以使用,或者存在更好的方式(3)@SuppressWarnings3、元注解(一)自定义元注解一个类里面只能有一个公共的方法,不能有多个public说明:点击@Override查看源码中用到的元注解(1)Target表示我们的注解可以用在哪些地方(2...原创 2021-10-25 17:21:15 · 260 阅读 · 0 评论 -
异步任务、邮件任务、定时执行任务
一、异步任务1、service:2、异步controller,调用异步的方法效果:停止三秒,显示结果,影响用户体验3、优化:使用spring框架的异步,告诉spring这是一个异步的方法a、有一个异步方法的线程,b、去主方法的线程池中调用异步方法的线程二、邮件任务1、导入依赖2、配置properties3、写测试类三、定时执行任务1、两个接口(1、TaskScheduler 任务调度者(2、TaskExecutor 任务执行者...原创 2021-10-21 21:22:02 · 218 阅读 · 0 评论 -
springboot整合Mybatis
一、先导篇1、倒入需要的依赖包,去https://mvnrepository.com/artifact/com.alibaba/druid/1.1.21搜索mybatis即可找到2、实战项目:(1)新建项目:new-project-spring initializer-输入名字-选中web(spring web)&&SQL(Mysql Driver、JDBC API)-finish(2)倒入mybatis依赖(该依赖由mybatis官方自己提供)(3)配置数.原创 2021-10-21 11:24:57 · 157 阅读 · 0 评论 -
maven
一、基础Maven是Apache公司开源项目,是项目构建工具,用来依赖管理1、maven的好处(1)同样的代码实现的功能都一样,maven开发的大小小于没有用maven开发的。可以推断出maven项目中一定没有jar包,没有jar包的maven项目怎么运行?maven找jar包的方式如下:2、maven的好处如何实现maven的两大核心:依赖管理:对jar包管理过程项目构建:项目编码完成后,对项目进行编译、测试、打包、部署一系列的操作都可以通过命令来实现,每一步操作都对应一.原创 2021-09-30 17:44:37 · 353 阅读 · 0 评论 -
服务框架dubbo和zookeeper
一、Dubbo框1、分布式系统中的相关概念(1)大型互联网项目架构目标a、互联网项目:日常被使用的互联网项目,对所有网名都是公开的,用户群体为广大的网民特点:用户多;流量大、并发高;海量数据;易受攻击;功能繁琐;变更快目标::高性能:提供快速的访问体验高可用:网站服务一直可以正常访问可伸缩:通过硬件增加/减少,提高/降低处理能力高可扩展:系统间耦合低,方便的通过新增/移除方式,增加/减少新的功能/模块安全性:提供网站安全访问和数据加密,安全存储等策略敏捷性:随需应原创 2021-09-21 11:54:41 · 7080 阅读 · 0 评论 -
kafka
apache的kafka是一个分布式的发送并发消息,可以发送海量数据一、kafka概述1、概念详解:1.1 apache官网:Welcome to The Apache Software Foundation!kafka官网:Apache Kafka1.2、producer:生产者即数据的发布者,将消息发送到kafka的brokers中;consumer消费者可以中brokers中读取数据,消费者可以消费多个kafka中的数据.topic:使用类别属性,划分数据的所属..原创 2021-09-18 17:35:04 · 306 阅读 · 0 评论 -
java基础- Stream API
一、概述原创 2021-09-13 22:30:03 · 248 阅读 · 2 评论 -
java基础-lambda表达式
一、java8新特性1、java8新特性二、lambda表达式1、使用举例2、lambda表达式语法的使用1(1)举例:(o1,o2) -> Integer.compare(o1,o2);(2)格式:->:lambda操作符或箭头操作符->左边:lambda形参列表 (其实就是接口中的抽象方法的形参列表)->右边:lambda体 (其实就是重写的抽象方法的方法体)(3)lambda表达式的使用:(分为6种情况去介绍)a、无参..原创 2021-09-10 22:13:56 · 880 阅读 · 0 评论 -
java基础-反射机制
一、反射机制概述1、反射之前,类的实例化等操作2、使用反射实现上述操作通过反射,可以调用Person类的私有结构的.比如:私有的构造器、方法、属性3、如何看待反射和封装性两个技术建议直接使用new的方式;什么时候使用反射:反射的特征:动态性,具有动态性特征的场景下使用反射反射和封装不矛盾,二、Class类的理解 java.lang.Class1、类加载过程:程序经过javac.exe命令以后,会生成一个或者多个字节码文件(.class结尾),接着使用j..原创 2021-09-09 22:55:49 · 191 阅读 · 1 评论 -
Java基础-抽象和接口
一、抽象类和抽象方法:1、abstract关键字的使用(1)abstract:抽象的(2)abstract可以用来修饰的结构:类、方法二、接口:原创 2021-09-08 00:10:51 · 618 阅读 · 2 评论 -
Java基础-static关键字和final关键字
一、static关键字1、static关键字的使用(1)static:静态的(2)static可以用力啊修饰:属性、方法、代码块、内部类不能来修饰构造器(3)static修饰属性,静态变量。的例子 3.1属性按是否使用static修饰有分为静态属性和非静态属性(实例变量) 实例变量:我们创建类类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值修改 静态变量(静态属...原创 2021-09-05 16:40:09 · 391 阅读 · 0 评论 -
java基础-泛型
一、为什么要使用泛型泛型:标签二、在集合中使用泛型三、自定义泛型结构四、泛型在继承上的体现五、通配符的使用原创 2021-09-05 14:18:08 · 153 阅读 · 1 评论 -
java基础-集合框架collection
一、集合与数组的对比对多个对象进行存储操作1、集合框架的概述(1)集合、数组都是对多个数据进行存储操作的结果,简称java容器说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库等)(2)数组在存储多个数据方面的特点:a、数组一旦初始化后,其长度就确定了b、定义数组需要指明数组的元素类型,一旦定义好之后,数组的元素类型也就是确定的,我们也就只能操作指定类型的数据了.eg:string[] arr,int[] arr1;(o原创 2021-09-02 21:52:56 · 223 阅读 · 0 评论 -
leetcode刷题;二十天算法计划
一、给定一个头结点为head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int va..原创 2021-08-26 21:45:06 · 177 阅读 · 0 评论 -
java基础学习-多线程
一、多线程的优点:1、何时需要创建多线程二、线程的创建和使用1、程序中,执行顺序能用一条线表示的,即不是多线程,如下示例则不是多线程2、多线程的创建(1)方式一:继承于thread类a、创建一个继承于thread类的子类b、重写thread类的run方法-》将此线程执行的操作声明在run()中c、创建thread类子类的对象-〉在主线程中使用d、通过此对象调用start方法-》两个作用:1、启动当前线程,使得线程开始执行;2、调用当前线程的run()eg1:..原创 2021-08-30 23:43:04 · 154 阅读 · 0 评论 -
java基础学习部分
一、JVM和垃圾回收机制java程序是跑在JVM上面的,JVM是运行在不同的操作系统上的,不同操作系统的JVM是不同的1、java的两种核心机制:(1)java虚拟机(Java Virtal Machine)(2)垃圾收集机制(Garbage Collection)java会自动进行垃圾回收,程序员无法精准控制和干预二、JDK、JRE、JVM...原创 2021-08-26 10:28:56 · 120 阅读 · 0 评论 -
leetcode剑指offer
一、请实现一个函数,把字符串s中的每个空格替换成"%20"。输入:s = "We are happy."输出:"We%20are%20happy."class Solution { // 创建一个新的字符数组来保存最终的结果 // 新的数组的长度是原先的三倍 // 将空格位置替换成%20 public String replaceSpace(String s) { int sz = s.length(); char[] tmp..原创 2021-08-25 20:54:18 · 92 阅读 · 0 评论 -
leetcode二十天练题
一、编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。class Solution { public void reverseString(char[] s) { for(int left = 0,right = s.length - 1;left < rig原创 2021-08-24 10:56:30 · 79 阅读 · 0 评论 -
leetcode二十天练题
一、给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。class Solution { // 将数组中所有的元素求平方后,排序 public int[] sortedSquares(int[] nums) { // 求数组中所有元素的平方 int sz = nums.length; int[] tmp = new int[sz]; for(int i = 0;...原创 2021-08-23 22:34:27 · 156 阅读 · 0 评论 -
leetcode练题:剑指offer
一、输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public int[] reversePrint(ListNode head) {原创 2021-08-23 18:18:36 · 131 阅读 · 0 评论 -
leetcode练题
题目一:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )解答:class CQueue { LinkedList<Integer> stack2,stack1; public CQueue() { stack1 = new LinkedList<Integer>();.原创 2021-08-21 16:21:38 · 100 阅读 · 0 评论 -
leetcode练习
题目一:第一个版本错误:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。解..原创 2021-08-21 14:54:22 · 72 阅读 · 0 评论 -
2021-08-21给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
class Solution { public int search(int[] nums, int target) { // 方法一:这种方式不是最优解,可以采用二分查找法 // // 升序数组,从前往后比较即可 // // 拿到target所在位置的数后,返回这个数位置的序位号 // int length = nums.length - 1; // for(int i = 0;i <= length;i++.原创 2021-08-21 14:08:38 · 1869 阅读 · 0 评论 -
Java Security https://www.bilibili.com/video/BV1PE411i7CV?p=33&spm_id_from=pageDriver
一、SpringSecurity环境搭建1、导入pom2、配置:新建一个config3、控制一部分权限没有权限默认会到登陆页面,需要开启登陆的页面4、认证5、注销及权限控制6、remember me功能...原创 2021-07-02 17:19:51 · 2900 阅读 · 0 评论 -
Java Druid https://www.bilibili.com/video/BV1PE411i7CV?p=32&spm_id_from=pageDriver
一、整合Druid数据源1、导入数据源:https://mvnrepository.com/artifact/com.alibaba/druid(1)选择1.1.12在pom中配置依赖配置完成后,全局搜索druid,看能否能搜到,此时遇见一个问题,配置的依赖不生效,参考https://blog.youkuaiyun.com/mgdj25/article/details/104638174,重新导入pom文件解决一般util文件里面都是做的一些封装,封装好的东西可以拿来直接使用(2原创 2021-07-02 15:12:26 · 849 阅读 · 0 评论 -
Java JDBC https://www.bilibili.com/video/BV1PE411i7CV?p=31&spm_id_from=pageDriver
一、整合JDBC数据源对于数据访问层,无论是SQL(关系型数据库)还是NOSQL(非关系型数据库),Spring Boot底层都是采用Spring Data的方式进行统一处理https://spring.io/projects/spring-datahttps://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/htmlsingle/#using-boot-starter1、找到官网上和spring-data相关的jar包:原创 2021-07-01 21:00:59 · 4015 阅读 · 0 评论 -
Java五、springboot web开发研究 视频来源:https://www.bilibili.com/video/BV1PE411i7CV?p=13&spm_id_from=pageDri
一、导入静态资源1、新建一个项目创建:new-project-(修改以下三项)-next-选择web模块(2)删除多余不用文件,新建一个controller2、静态资源怎么导入(1)(2)webjars:查看链接中所需的,以maven的方式引入来自动导入https://www.webjars.org/在webjars网站上找到的所有内容都符合如下这个目录输入webjars即可访问(2)获得静态资源的路径的方式:访问/*这几个路径下的内容都能找到..原创 2021-06-30 21:42:58 · 6481 阅读 · 0 评论 -
Java四、SpringBoot 视频来源:https://www.bilibili.com/video/BV1PE411i7CV
一、什么是注解:一、原创 2021-06-30 17:48:33 · 2991 阅读 · 0 评论 -
Java三:网络编程 视频来源:https://www.bilibili.com/video/BV1LJ411z7vY
一、网络编程1、概述(1)什么是计算机网络:将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统.(2)网络编程的目的:无线电台:传播交流信息,数据交换、通信(3)想要达到这个效果需要什么?如何准确的定位网络上的一台主机? ip地址+端口号,并且定位到这个计算机上的某个资源找到了这个主机,如何传输数据呢? 二、网络通信的两个要素1、如何实现网络的通...原创 2021-06-26 17:41:20 · 3876 阅读 · 0 评论 -
Java三:多线程 视频来源:https://www.bilibili.com/video/BV1V4411p7EF?p=2&spm_id_from=pageDriver
1、多任务:eg:一边吃饭,一边玩手机2、多线程:一、程序.进程.线程原创 2021-06-26 15:37:34 · 5599 阅读 · 0 评论 -
Java基础篇二 视频来源:https://www.bilibili.com/video/BV12J41137hu?p=33&spm_id_from=pageDriver
一、Java流程控制1、scanner二、Java方法详解三、类和对象1、类和对象的关系2、构造函数:(1)、使用new关键字必须使用构造器,否则会报错;new一个对象本质是在调用构造器(2)一旦定义了又参构造,无参就必须显示定义(3)构造器一般用来初始化值(alt+inser自动生成构造器)构造器:1、和类名相同;2、没有返回值作用:1、new本质在调用构造方法注意点:定义有参构造后,如果想使用无参构造,显示的原创 2021-06-24 18:43:12 · 5485 阅读 · 0 评论 -
Java学习(一)
一、Java的特点1、Java程序可以做到一次编程,到处运行Java具有三个方面的内涵:(1)是一种编程语言(2)是一套开发工具(Java编译程序)(3)是一个运行环境(Java程序在运行时用到的Java字节码解释程序)二、Java程序开发的基本过程1、开发工具运行环境的搭建与使用(1)Java开发工具包JDK(Java Development Kit) ...原创 2018-12-20 11:00:30 · 219 阅读 · 0 评论