JAVA
文章平均质量分 88
大黄的Java笔记
种一棵树最好的时间是十年前,其次是现在。虽然我很菜,但我在努力。每天记录一点新知识,就是最大的进步。
展开
-
JAVA容器学习-集合
Java集合是我认为在Java基础中最最重要的知识点了,Java集合是必须掌握的。我在实习/秋招面试的时候,只要是面到Java,那一定是少不了Java集合。作为一个新人,最关心的其实有一点:这个技术在工作中是怎么用的。换个说法:“工作中常用到的Java集合有哪些,应用场景是什么”如何入门Java集合以及每个常用的子类我在PDF整理好了,这就不粘贴过来了,有需要的就在PDF查看就好了。这份PDF绝对令你满意。List集合List集合下最常见的集合类有两个:ArrayList和LinkedL原创 2021-02-20 16:11:18 · 253 阅读 · 0 评论 -
JAVA学习-限量算法
一、限流基础知识介绍为啥要限流,相信就不用我多说了。 比如,我周末去饭店吃饭,但是人太多了,我只能去前台拿个号,等号码到我的时候才能进饭店吃饭。如果饭店没有限流怎么办?一到饭点,人都往里冲,而饭店又处理不了这么多人流,很容易就出事故(饭店塞满了人,无路可走。饭店的工作人员崩溃了,处理不过来) 回到代码世界上也是一样的,服务器能处理的请求数有限,如果请求量特别大,我们需要做限流(要么就让请求等待,要么就把请求给扔了) 限流在代码世界上,限流有两种比较常见的算法: 令牌桶算原创 2021-02-20 15:53:41 · 355 阅读 · 0 评论 -
JAVA学习-泛型
一、什么是泛型?Java泛型设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastException异常.泛型:把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类型参数化类型: 把类型当作是参数一样传递 <数据类型>只能是引用类型 相关术语: ArrayList<E>中的E称为类型参数变量 ArrayList<Integer>中的Integer称为实际类型参数 整个称为Arr.原创 2021-02-20 15:27:48 · 263 阅读 · 0 评论 -
JAVA学习视频及资料地址-持续更新
java3y收录的学习视频地址https://github.com/ZhongFuCheng3y/3y/blob/master/src/resource.md原创 2021-02-20 15:10:34 · 832 阅读 · 0 评论 -
基于SpringBoot+MyBatis的旅行社管理系统设计与实现
随着Web应用的成熟,越来越多的开发人员喜欢使用方便快捷的Web应用框架。这样可以开发出完善健壮的软件,对程序员的要求将会非常高。如果采用成熟,稳健的框架,那么一些基础的通用工作,比如,事物处理,安全性,数据流控制等都可以交给框架处理,那么程序员只需要集中精力完成系统的业务逻辑设计,可以降低开发难度。所以,我们在开发一个新的系统项目的时候不需要考虑要不要使用框架,而是考虑使用一个什么框架。在此系统中,我们就使用了SpringBoot框架。 Springboot直接省去配置文件的...原创 2020-11-25 13:39:20 · 15815 阅读 · 40 评论 -
Session、Cookie、Token区别与用法
本文的组织脉络如下Cookie 和 SessionHTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性。Session 是什么客户端请求服务端,服务端会为这次请求开辟一块内存空间,这个对象便是 Session 对象,存储结构为C...转载 2020-04-07 17:37:10 · 372 阅读 · 0 评论 -
基础线程机制
ExecutorExecutor 管理多个异步任务的执行,而无需程序员显式地管理线程的生命周期。这里的异步是指多个任务的执行互不干扰,不需要进行同步操作。主要有三种 Executor:CachedThreadPool:一个任务创建一个线程; FixedThreadPool:所有任务只能使用固定大小的线程; SingleThreadExecutor:相当于大小为 1 的 FixedT...转载 2020-03-18 19:49:31 · 310 阅读 · 0 评论 -
线程的使用
一、使用线程有三种使用线程的方法:实现 Runnable 接口; 实现 Callable 接口; 继承 Thread 类。实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过 Thread 来调用。可以理解为任务是通过线程驱动从而执行的。实现 Runnable 接口需要实现接口中的 run() 方法...转载 2020-03-18 19:43:41 · 655 阅读 · 0 评论 -
java容器
一、概览容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。Collection1. Set TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(lo...转载 2020-03-17 20:02:40 · 134 阅读 · 0 评论 -
八大排序算法代码
一、冒泡排序算法:1、一般写法: int temp; //外层循环是排序的趟数 for (int i = 0; i < arrays.length - 1 ; i++) { //内层循环是当前趟数需要比较的次数 for (int j = 0; j < arrays.length -...原创 2019-07-29 15:09:03 · 1048 阅读 · 0 评论 -
阿里P7给你一份超详细 Spring Boot 知识清单
在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架。或许从命名上就能看出这个框架的设计初衷:快速的启动Spring应用。因而Spring Boot应用本质上就是一个基于Spring框架的应用,它是Spring对“约定优先于配置”理念的最佳实践产物,它能够帮助开发者更快速高效地构建基于Spring生态圈的应用。那Spring Boot有何魔法?自动配置、起步依赖、Ac...转载 2019-03-07 16:12:13 · 370 阅读 · 0 评论 -
一文搞定并发面试题
1、Object 的 wait()和notify() 方法下图为线程状态的图:Object 对象中的 wait()和notify()是用来实现实现等待 / 通知模式。其中等待状态和阻塞状态是不同的。等待状态的线程可以通过notify() 方法唤醒并继续执行,而阻塞状态的线程则是等待获取新的锁。 调用 wait()方法后,当前线程会进入等待状态,直到其他线程调用notify()或n...转载 2019-03-07 14:49:35 · 245 阅读 · 0 评论 -
深入理解Java中的重写和重载
本文转自:http://www.hollischuang.com/archives/1308 重载(Overloading)和重写(Overriding)是Java中两个比较重要的概念。但是对于新手来说也比较容易混淆。本文通过两个简单的例子说明了他们之间的区别。定义重载简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之...转载 2018-08-16 20:02:24 · 332 阅读 · 0 评论 -
集群/分布式/微服务/SOA是什么?
前言像我这种技术小白,看到这些词(集群/分布式/微服务/SOA)的时候,感觉就是遥不可及的(高大尚的技术!!)。就好像刚学Java面向对象的时候,在论坛上翻阅资料的时候,无意看到"面向切面编程",也认为这是遥不可及的(高大尚的技术!!)。但真正接触到"面向切面编程"的时候,发现原来就是如此啊,也没什么大不了的。只不过当时被它的名字给唬住了…不知道各位在刚接触这些名字集群/分布式/微服务...原创 2018-08-30 16:33:03 · 493 阅读 · 0 评论 -
Java Optional空指针处理
摘要: 直到真正了解了空指针异常,才能算一名合格的Java开发人员。在我们逼格闪闪的java码字符生涯中,每天都会遇到各种null的处理,Java8之后提供了一种更优雅的方式来处理空指针——Optional。那些年困扰着我们的null在Java江湖流传着这样一个传说:直到真正了解了空指针异常,才能算一名合格的Java开发人员。在我们逼格闪闪的java码字符生涯中,每天都会遇到各种null的...转载 2018-08-20 16:08:38 · 724 阅读 · 0 评论 -
MySql悲观锁和乐观锁总结
现在我有一个购买商品的需求,我们知道当我们购买商品时,后台会进行减库存和增加购买记录的操作。我们分别在无锁和乐观锁和悲观锁进行相应的代码演示来说明问题。 建表语句如下:CREATE TABLE `stock` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAUL...转载 2018-08-29 16:36:50 · 266 阅读 · 0 评论 -
轻松理解Spring框架的AOP思想(面向切面编程)
一、何为面向切面编程 本文旨在帮助还没有理解AOP的童鞋看透弄懂AOP,也欢迎高手批评指正。 先说一个Spring是什么吧,大家都是它是一个框架,但框架这个词对新手有点抽象,以致于越解释越模糊,不过它确实是个框架的,但那是从功能的角度来定义的,从本质意义上来讲,Spring是一个库,一个Java库,所以我个人觉得应该这样回答Spring是什么:Spring是一个库,它的功能...原创 2018-08-30 15:47:06 · 11291 阅读 · 1 评论 -
Java中的自动拆装箱(通俗易懂)
本文主要介绍Java中的自动拆箱与自动装箱的有关知识。 一、基本数据类型1、java基本数据类型基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型。它们是我们编程中使用最频繁的类型。Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。Java基本类型共有八种,基本类型可以分为四类:字符类型char布尔类型b...原创 2018-09-05 09:51:24 · 476 阅读 · 0 评论 -
GitHub上获得超多Star的Java面试项目地址
https://github.com/Snailclimb/JavaGuide https://github.com/Snailclimb/JavaGuide https://github.com/kdn251/interviews原创 2018-09-29 18:03:25 · 2830 阅读 · 1 评论 -
SpringMVC 页面传递参数到controller的五种方式
五种绑定从前台传到controller层的传参方式:一:直接将请求参数名作为Controller中方法的形参public String login (String username,String password) 也就是直接把前台的页面中你想要获取过来的那个对应的name给当做参数传进来,Spring会自动去寻找二:使用@RequestParam 绑定请求参数参数值(推荐使用)...转载 2018-12-17 12:49:57 · 5793 阅读 · 1 评论 -
java后台生成验证码,前端验证登录
后台生成验证码,前端验证登录页面逻辑:一、当登录页面加载的时候,就要把生产好的验证码图片显示在页面上。二、点击验证码图片可以去刷新图片(页面不刷新)。三、点击看不清,换一张也要刷新验证码图片。四、后台生产的验证码存放在session中,前端输入验证码提交后需去验证是否与session中存放的匹配。实现过程:第一步,我们新建一个生成验证码工具类:package co...原创 2019-03-05 09:50:06 · 6180 阅读 · 5 评论 -
Java程序员必须掌握的英语词组
抽象类(abstract class):抽象类不能创建对象,主要用来创建子类。Java中的抽象类使用 abstract 修饰符定义。抽象数据类型(abstract data type ADT):抽象数据类型指明了可能的类型和允许进行的操作,但是没有提供实现。访问标识符(access specifier):用于方法或变量定义,限定了哪些类可以访问该方法或变量。Java中的访问标识符有 pub...转载 2018-08-02 18:54:33 · 296 阅读 · 0 评论