首页
学习
活动
专区
工具
TVP
发布

Java大联盟

博主具备多年Java开发经验,技术总监。《Java零基础实战》作者,B站认证UP主(楠哥教你学Java)
专栏作者
177
文章
258337
阅读量
75
订阅数
Java并发编程核心概念一览
同步和异步通常来形容一次方法的调用。同步方法一旦开始,调用者必须等到方法结束才能执行后续动作;异步方法则是在调用该方法后不必等到该方法执行完就能执行后面的代码,该方法会在另一个线程异步执行,异步方法总是伴随着回调,通过回调来获得异步方法的执行结果。
南风
2019-05-30
4180
Java面试手册:数据库 ⑤
数据库范式 目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。 范式可以避免数据冗余,减少数据库的空间,减轻维护数据完整性的麻烦,但是操作困难,因为需要联系多个表才能得到所需要数据,而且范式越高性能就会越差。要权衡是否使用更高范式是比较麻烦的,一般在项目中,用得最多的也就是第三范式,我认为使用到第三范式也就足够了,性能好而且方便管理数据。 第一范式:对于表中
南风
2018-12-14
7080
Java面试手册:数据库 ④
触发器 触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。触发器可以查询其他的表,而且可以包含复杂的SQL语句他们主要用于强制服从复杂业务的规则或要求。 触发器是与表相关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据库的完整性。 触发器在数据库中定义了一系列的操作,可以在对指定表进行插入,更新或者删除的同时自动执行这些操作。 例如:西安北站所属办公室----->北
南风
2018-12-13
1.2K0
微服务中的短信服务如何设计?
发送短信功能,在开发过程中是最常见的需求。用户登录验证码的发送,活动促销短信的发送等。本Chat将带领你深入的去学习如何设计和实现一个通用的基础短信服务,采用Spring Boot开发短信服务,最终会注册到Spring Cloud微服务体系中,方便其他服务使用。
南风
2018-12-10
2.4K0
Java面试手册:线程专题 ③
1、Thread类中的yield方法有什么作用? Yield方法可以暂停当前正在执行的线程对象,让其它有相同优先级的线程执行。它是一个静态方法而且只保证当前线程放弃CPU占用而不能保证使其它线程一定能占用CPU,执行yield()的线程有可能在进入到暂停状态后马上又被执行。点击这里查看更多yield方法的相关内容。 2、Runnable接⼝和Callable接⼝的区别 Runnable接⼝中的run()⽅法的返回值是void,它只是纯粹地去执⾏run()⽅法中的代码⽽已; Callable接⼝中的c
南风
2018-12-05
4340
Java面试手册:线程专题 ④
1、进程死锁的四个必要条件以及解除死锁的基本策略: 互斥条件:线程对资源的访问是排他性的,如果一个线程对占用了某资源,那么其他线程必须处于等待状态,直到资源被释放。 请求和保持条件:线程T1至少已经保持了一个资源R1占用,但又提出对另一个资源R2请求,而此时,资源R2被其他线程T2占用,于是该线程T1也必须等待,但又对自己保持的资源R1不释放。 不可剥夺条件:是指进程已获得的资源,在未完成使用之前,不可被剥夺,只能在使用完后自己释放 环路等待条件:在死锁发生时,必然存在一个“进程-资源环形链”。 解
南风
2018-12-05
6660
Java面试手册:线程专题 ①
1、 什么是线程? 线程是操作系统能够进行运算的最小单位,他包含在实际的运作单位里面,是进程中的实际运作单位。 程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点 它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。线程也有就绪、阻塞和运行三种基本状态。我们通过多线
南风
2018-11-23
7810
Java面试手册:集合框架
1.Java集合大家族导图 image 为了方便多个对象进行操作,要存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,此时的数组为对象数组。而对象数组又不能适应变化的需求,因为数组的长
南风
2018-11-07
9920
synchronized同步代码块
通过语法可以了解到synchronized同步代码块的原理其实很简单,当前线程必须要获得目标资源的锁才可以执行,如果一个线程无法获取资源锁,则进入阻塞状态,待到获取资源锁(占用资源锁的线程执行完之后会释放资源锁)之后方可进入运行状态执行任务。
南风
2018-10-18
1K0
Java面试手册:核心基础-3
1.如何把一段逗号分割的字符串转换成一个数组? 用正则表达式,代码大概为:String [] result = orgStr.split(“,”); 用 StringTokenizer 代码为(高逼
南风
2018-10-18
6180
Java面试手册:核心基础-4
5.comparable/comparator区别。 用Comparable简单,只要实现Comparable接口的对象直接就成为一个可以比较的对象但是需要修改源代码。 用Comparator的好处是不需要修改源代码,而是另外实现一个比较器,当某个自定义的对象需要作比较的时候,把比较器和对象一起传递过去就可以比大小了, 并且在Comparator里面用户可以自己实现复杂的可以通用的逻辑,使其可以匹配一些比较简单的对象,那样就可以节省很多重复劳动了。
南风
2018-10-18
4980
Java基础之String
(1)多个字符组成的一串数据。 其实它可以和字符数组进行相互转换。 (2)构造方法: public String():空构造。 public String(byte[] bytes):把字节数组转成字符串。 public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串。 public String(char[] value):把字符数组转成字符串。 public String(char[] value,int index,int c
南风
2018-07-02
4530
23种设计模式详解(六)
1.中介者模式(Mediator) 中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用。 User接口: public abstract class User { private Mediator mediator; public Mediator getM
南风
2018-07-02
3380
23种设计模式详解(五)
1.责任链模式(Chain of Responsibility) 有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。 Handler接口: public interface Handler { public void operator(); } Abstracthandler类提供了get和set方法,方便MyHandl
南风
2018-07-02
5590
23种设计模式详解(四)
1.装饰模式(Decorator Pattern) 顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。 举例:穿上漂亮的衣服美美的化个妆谁还不是小仙女咋地。 接口: public interface beBeautiful { public void beautiful(); } 华服: public class hotDresses implements beBeautiful { @Override
南风
2018-07-02
2850
23种设计模式详解(三)
1.模板方法模式(Templates Pattern) 模板方法模式就是指:一个抽象类中,有一个主方法,再定义1...n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用。 车辆模板: public abstract class CarModel { //启动 protected abstract void start(); //跑 //为什么用final,让子类不能修改run()里面的方法调用顺序 f
南风
2018-07-02
2550
23种设计模式详解(二)
1.工厂方法模式(FactoryMethod Pattern) 一、普通工厂方法模式 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。 举例:手机发短信或微信。 手机: public interface Phone { public void send(); } 老年机: public class oldMachine implements Phone{ @Override public void send() { //老年机只能发短信
南风
2018-07-02
4310
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档