
JAVA 如何从 小白 变为 大神
文章平均质量分 90
Java入门到深入详细教程,便于新手快速入门.
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Java天下第1
Java后端工程师。
展开
-
【ShardingSphere】水平分库分表配置方法
例如,aD7Rt87 第一个字母a就代表是在dsa库中,就会根据这个code把数据存入dsa的数据库。#----------短链组,策略:水平分库,不水平分表-------------# 指定分库的依据是code,此处code的结构是 库标记+内容+表标记。# 声明分库的数据库名称,分别是ds0,ds1,dsa。# 先进行水平分库,水平分库策略,行表达式分片。# 主要看这里,根据策略进行分库。# 分别建立这三个数据库的配置。# 雪花算法生成ID。原创 2022-10-22 14:57:17 · 830 阅读 · 0 评论 -
Java中的锁机制和ConcurrentHashMap
简介ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组 + 链表 + 红黑树)的结构来存储元素。相比于同样线程安全的HashTable来说,效率等各方面都有极大地提高。在阅读这篇文章之前,如果对HashMap不是很了解,可以阅读这篇文章:深入理解HashMap源码先简单介绍一下各种锁,以便下文讲到相关概念时能有个印象。锁synchronizedjava中的关键字,内部实现为监视器锁,主要是通过对象监视器原创 2022-04-29 19:16:17 · 970 阅读 · 0 评论 -
SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)
基本概念1.1、SpringSpring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的原创 2020-10-27 09:37:01 · 267 阅读 · 0 评论 -
volatile关键字和synchronized的区别
**volatile关键字标志的变量将会从内存缓冲区撤回内存中,保证了线程访问这个变量是只能从公共堆栈中取值。增加了实例变量在多个线程之间的可见性,但是不支持原子性。 下面与synchronized比较: 1.volatile是线程同步的轻量级实现,性能比synchronized要好,但是只能修饰变量,synchronized修饰变量,代码块。但是,目前,随着JDK的更新,synchronized的性能得到很大提升,开发中使用比率很大。 2.多线程访问volitile不会发生阻塞,synchronized原创 2020-07-10 11:28:41 · 484 阅读 · 1 评论 -
如何让超链接的值实时等于INPUT里输入的
原创 2020-03-19 15:03:47 · 227 阅读 · 0 评论 -
JAVA——>socket网络编程(含有文件上传)
结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机 的通信的程序。网络通信协议网络通信协议:通信协议是对计算机必须遵守的规则,只有遵守...原创 2020-02-16 13:58:57 · 505 阅读 · 0 评论 -
JAVA——>进阶版Java简易登录功能的实现(结构更加规范)
之前做过一个很简单的登录功能,但是代码不够规范,ajax也没有学,所以再写一个更加规范简单的登陆页面。用到了之前的阿里巴巴的数据库连接池druid,配置就不多写了,之前发过,自行翻阅登录成功,自动跳转登陆失败,自动跳转1.目录结构(没有用js jQ 纯表单提交)2.页面代码<form action="/loginServlet" method="post"> ...原创 2020-02-13 22:29:13 · 285 阅读 · 6 评论 -
JAVA——>利用之前学过的JDBC以及数据库连接池实现一个简易登录功能
这次我们使用以前学过的jdbc来写一个简单的登录页面(用到了Ajax 先了解 后续会讲)主要注解都在代码后注明了!自己阅读。先看一下成品页面。有输入用户名,密码,登录按钮。粉色区域为登陆状态(登陆成功,登陆失败),点击登陆后会根据情况改变蓝色区域为时钟,是动态的,利用js周期定时器(setInterval())实现。数据库界面(懒得新建表了,随便拿了一个 attack是密码)登...原创 2020-02-13 21:12:25 · 916 阅读 · 0 评论 -
JAVA——> 数据库连接池(c3p0和druid)以及Spring JDBC : JDBC Template
今日内容1. 数据库连接池2. Spring JDBC : JDBC TemplatePs:本节内容需要导入jar包数据库连接池1. 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。2. 好处: 1. 节约资源 2. 用...原创 2020-02-05 15:23:42 · 235 阅读 · 0 评论 -
JAVA——>JDBC基本概念,快速入门,对JDBC中各个接口和类详解
今日内容1. JDBC基本概念2. 快速入门3. 对JDBC中各个接口和类详解JDBC:概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的...原创 2020-02-04 23:15:01 · 244 阅读 · 0 评论 -
JAVA 系列——>Lambda表达式
函数式编程思想概述在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过 分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以 什么形式做。面向对象的思想: 做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情.函数式编程思想: 只要能获取到结果,谁去做的,怎么做的都不重要,重视的是...原创 2020-02-01 11:22:15 · 1073 阅读 · 0 评论 -
JAVA 系列——>线程池
线程池思想概述 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低 系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样...原创 2020-01-23 17:10:08 · 144 阅读 · 0 评论 -
JAVA 系列——>线程间通信(等待唤醒机制)
线程间通信线程间通信 : 多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。为什么要处理线程间通信:多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,并且我们 希望他...原创 2020-01-23 16:52:45 · 212 阅读 · 1 评论 -
JAVA 系列——>线程同步 线程安全 线程状态
如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样 的,而且其他的变量的值也和预期的是一样的,就是线程安全的。我们通过一个案例,演示线程的安全问题:电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是 “葫芦娃大战奥特曼”,本次电影的座位共100个 (本场电影只能卖100张票)。我们来模拟电影院的售票窗口,实现多个窗口同时卖 “葫芦...原创 2020-01-21 17:42:57 · 294 阅读 · 0 评论 -
JAVA 系列——>多线程(Thread )
我们在之前,学习的程序在没有跳转语句的前提下,都是由上至下依次执行,那现在想要设计一个程序,边打游戏 边听歌,怎么设计?要解决上述问题,咱们得使用多进程或者多线程来解决.并发与并行并发:指两个或多个事件在同一个时间段内发生。并行:指两个或多个事件在同一时刻发生(同时发生)。在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每 一时刻只...原创 2020-01-18 11:27:27 · 312 阅读 · 0 评论 -
JAVA 系列——>异常(try、catch、finally、throw、throws)
异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将 受影响.在程序中的意思就是: 异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处 理异常的方式是中断处理。异常指的并不是语法错误,语法错了,编译...原创 2020-01-17 16:17:43 · 283 阅读 · 0 评论 -
JAVA 系列——>使用HashMap模拟斗地主洗牌发牌
按照斗地主的规则,完成洗牌发牌的动作。具体规则:组装54张扑克牌将54张牌顺序打乱三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。查看三人各自手中的牌(按照牌的大小排序)、底牌案例需求分析准备牌:完成数字与纸牌的映射关系: 使用双列Map(HashMap)集合,完成一个数字与字符串纸牌的对应关系(相当于一个字典)。洗牌:通过数字完成洗牌发牌发牌:将每个...转载 2020-01-16 13:11:27 · 639 阅读 · 1 评论 -
JAVA 系列——>Map集合
现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等, 这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接 口。我们通过查看 Map 接口描述,发现 Map 接口下的集合与 Collection 接口下的集合,它们存储数据的形式不同,如 下图。Collection 中的集合,元...原创 2020-01-16 11:20:51 · 229 阅读 · 0 评论 -
JAVA 系列——> 哈希值(hashCode)以及Set集合存储元素不重复的原理
哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到地址,不是数据实际存储的物理地址)在Object类有一个方法,可以获取对象的哈希值int hashCode() 返回该对象的哈希码值。hashCode方法的源码:public native int hashCode();native:代表该方法调用的是本地操作系统的方法 public clas...原创 2020-01-15 12:12:11 · 250 阅读 · 0 评论 -
JAVA 系列——> Collections
常用功能java.utils.Collections 是集合工具类,用来对集合进行操作。部分方法如下:举例:结果: [5, 222, 1, 2] [1, 2, 5, 222]代码演示之后 ,发现我们的集合按照顺序进行了排列,可是这样的顺序是采用默认的顺序,如果想要指定顺序那该 怎么办呢?我们发现还有个方法没有讲, public static void sort(List list,...原创 2020-01-14 17:06:23 · 198 阅读 · 0 评论 -
JAVA 系列——>Set接口
java.util.Set 接口和 java.util.List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方 法基本一致,并没有对 Collection 接口进行功能上的扩充,只是比 Collection 接口更加严格了。与 List 接口不 同的是, Set 接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。 Set 集合有多个子类,这里我...原创 2020-01-14 16:42:46 · 222 阅读 · 0 评论 -
JAVA 系列——>List集合
重要的事情说三遍!进来先点个关注 看完点个赞 给个动力!进来先点个关注 看完点个赞 给个动力!进来先点个关注 看完点个赞 给个动力!List接口介绍java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了 List 接口的对 象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以...原创 2020-01-14 15:57:47 · 259 阅读 · 0 评论 -
JAVA 系列——>数据结构(栈、队列、数组、链表和红黑树)
点进来的朋友先点个赞再点个关注好不好,求支持!一直往后更新。数据结构有什么用? 当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组,也好像链表之类的。好用吗?好用,这就是数据结构的用处,只不过你在不知不觉中使用了。 现实世界的存储,我们使用的工具和建模。每种数据结构有自己的优点和缺点,想想如果Google的数据用的是数组的存储,我们还...原创 2020-01-13 17:02:31 · 2370 阅读 · 0 评论 -
JAVA 系列——>泛型
在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升 成Object类型。当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。  Collection 中的元 素,...原创 2020-01-12 13:40:54 · 592 阅读 · 0 评论 -
JAVA 系列——>Collection集合
什么是集合**集合:**集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不 一致。在开发中一般当对象多的时候,使用集合进行存储。集合框架 JAVASE提供了满足各种需求的API,在使用这些API前,先...原创 2020-01-12 13:08:16 · 462 阅读 · 0 评论 -
JAVA 系列——>包装类
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:  { String s = "Hello"; s += "World"; System.out.println(s); }在API中对String类有这样的描述:字符串是常量,它们...原创 2020-01-11 12:24:30 · 581 阅读 · 0 评论 -
JAVA 系列——>System类
java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文 档中,常用的方法有: public static long currentTimeMillis() :返回以毫秒为单位的当前时间。public static void arraycopy(Object src, int srcPos, Object dest, int d...原创 2020-01-11 12:09:01 · 3379 阅读 · 0 评论 -
JAVA 系列——>日期时间类
Date类java.util.Date 类 表示特定的瞬间,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把 毫秒值转成日期对象。**public Date() :**分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。**public Date(long date) :**分配Date对象并初始化此对象,...原创 2020-01-11 11:45:00 · 331 阅读 · 0 评论 -
JAVA 系列——>Object类
**java.lang.Object** 类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。 如果一个类没有特别指定父类, 那么默认则继承自Object类。例如:  根据JD...原创 2020-01-10 21:22:08 · 447 阅读 · 0 评论 -
JAVA 系列——>内部类
将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。成员内部类 :定义在类中方法外的类。定义格式:在描述事物时,若一个事物内部还包含其他事物,就可以使用内部类这种结构。比如,汽车类 Car 中包含发动机 类 Engine ,这时, Engine 就可以使用内部类来描述,定义在成员位置。访问特点内部类可以直接访问外部类的成员,包括私有成员。外部类要访问内部类的...原创 2020-01-10 12:42:21 · 1683 阅读 · 0 评论 -
JAVA 系列——>权限修饰符
在Java中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限。 public:公共的。 protected:受保护的 default:默认的 private:私有的不同权限的访问能力可见,public具有最大权限。private则是最小权限。编写代码时,如果没有特殊的考虑,建议这样使用权限: 成员变量使用 pr...原创 2020-01-10 12:17:58 · 197 阅读 · 0 评论 -
JAVA 系列——>final关键字
学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承 API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,Java提供了 final 关键字, 用于修饰不可改变内容。final: 不可改变。可以用于修饰类、方法和变量。类:被修饰的类,不能被继承。方法:被修饰的方法,不能被重写。变量:被修饰的变量,不能被...原创 2020-01-10 12:04:15 · 208 阅读 · 0 评论 -
JAVA 系列——>多态
多态是继封装、继承之后,面向对象的第三大特性。 生活中,比如跑的动作,小猫、小狗和大象,跑起来是不一样的。再比如飞的动作,昆虫、鸟类和飞机,飞起来也 是不一样的。可见,同一行为,通过不同的事物,可以体现出来的不同的形态。多态,描述的就是这样的状态。定义多态: 是指同一行为,具有多个不同表现形式。前提【重点】继承或者实现【二选一】方法的重写【意义体现:不重写,无意义】父类引用...原创 2020-01-10 11:38:24 · 183 阅读 · 0 评论 -
JAVA 系列——>接口
接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么 接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法 (JDK 9)。 接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并 不是类,而是另外一种引用数据类...原创 2020-01-09 14:52:05 · 213 阅读 · 0 评论 -
JAVA 系列——>抽象类
父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有 意义,而方法主体则没有存在的意义了。我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。定义抽象方法 : 没有方法体的方法。**抽象类:**包含抽象方法的类。abstract使用格式抽象方法使用 abstract 关键字修饰方法,该方法就成了抽象...原创 2020-01-09 12:44:20 · 152 阅读 · 0 评论 -
JAVA 系列——>继承
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要 继承那一个类即可。如图所示:  :返回 double 值的绝对值。double d1 = Math.abs(‐5); //d1的值为5 double ...原创 2019-12-30 22:02:13 · 281 阅读 · 0 评论 -
JAVA 系列——>static关键字
概述 关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属 于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。定义和使用格式类变量 当 static 修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何对象都可以更改该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作。 ...原创 2019-12-30 20:50:30 · 222 阅读 · 0 评论