
基础知识
程序员plus
这个作者很懒,什么都没留下…
展开
-
何时使用异步或同步AJAX
通过优锐课中的java学习提升,了解了很多干货知识。通常最好使用异步调用AJAX代表异步JavaScript和XML,是一项允许异步更新网页的技术,这意味着当页面上只有一小部分数据发生更改时,浏览器不需要重新加载整个页面。 AJAX仅将更新的信息传递到服务器或从服务器传递。标准的Web应用程序同步处理Web访问者和服务器之间的交互。 这意味着一件事情接连发生。 服务器不执行多任务。 如果单击...原创 2020-02-24 12:42:56 · 365 阅读 · 0 评论 -
详解--数据封装
在优锐课的java架构学习中,数据封装是使用对象编程时要掌握的最重要概念。 在面向对象的编程中,数据封装与以下方面有关:结合数据及其在一个地方的处理方式。 这是通过对象的状态(私有字段)和行为(公共方法)实现的。仅允许通过行为访问和修改对象的状态。 然后可以严格控制对象状态中包含的值。隐藏对象工作原理的详细信息。 外界可以访问的对象的唯一部分是其行为。 这些行为内部发生的事情以及...原创 2020-02-20 16:06:51 · 2083 阅读 · 0 评论 -
Java中的静态字段
有时在特定类的所有实例中共享值是很有用的。静态字段和静态常量通过属于类而不是实际对象来启用这种类型的共享通过在优锐课的java架构学习分享中,讨论了关于类中定义的字段和方法只能在创建该类类型的对象时使用。例如,考虑一个简单的Item类,它可以跟踪商店中的商品: public class Item { private String itemName; public Item...原创 2020-01-14 17:48:20 · 987 阅读 · 0 评论 -
面试题解析系列:SSL、TLS协议格式、HTTPS通信过程、RDP SSL通信过程
SSL协议格式SSL(Secure socket Layer 安全套接层协议)指使用公钥和私钥技术组合的安全网络通讯协议。SSL协议是网景公司(Netscape)推出的基于WEB应用的安全协议,SSL协议指定了一种在应用程序协议(如Http、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客...原创 2019-08-02 18:03:26 · 1689 阅读 · 0 评论 -
简单聊聊volatile关键字的原理
volatile这个关键字他主要做两个事情,一个是禁止重排序,一个是内存可见性。一、禁止重排序先做一个思考,为什么要禁止重排序?回答这个问题之前先想想为什么要重排序?我们可以这么理解,举个例子,我们的代码是这个样子:a=1+1;c=24b=3+2;单核cpu会是这么计算,先算a=a+1,再算b=b+1,最后是c=ab;这么算自然是没有问题的,但是我们希望计算机的速度更快,假设原先C...原创 2019-07-30 16:19:09 · 207 阅读 · 0 评论 -
Java面试之战:基础第一回合
1、面向对象的特征有哪些方面?抽象:将同类对象的共同特征提取出来构造类。继承:基于基类创建新类。封装:将数据隐藏起来,对数据的访问只能通过特定接口。多态性:不同子类型对象对相同消息作出不同响应。2、访问修饰符public,private,protected,以及不写(默认)时的区别?protected 当前类,同包,异包子类。3、String 是最基本的数据类型吗?答:不是。J...原创 2019-08-03 16:13:23 · 164 阅读 · 0 评论 -
Java多线程之Executor框架「Callable、Future和Executor」
引言Executor框架是指JDK 1.5中引入的一系列并发库中与Executor相关的功能类,包括Executor、Executors、ExecutorService、Future、Callable等。一、为什么要引入Executor框架?1、如果使用new Thread(…).start()的方法处理多线程,有如下缺点:① 开销大。对于JVM来说,每次新建线程和销毁线程都会有很大的开销...原创 2019-07-22 19:56:19 · 694 阅读 · 0 评论 -
联合索引(各种索引)
聚集索引和非聚集索引数据库中B+树索引可以分为聚集索引和非聚集索引(辅助索引)聚集索引每张表只有一个聚集索引,且是建立在主键上面的。主键索引在InnoDB存储引擎中,每张表都有个主键,如果在创建表时没有显式地定义主键,则InnoDB存储引擎会按如下方式选择或创建主键首先判断表中是否存在非空的唯一索引,如果有,则该列即为主键如果不符合上述条件,InnoDB存储引擎自动创建一个6字节大小...原创 2019-08-05 16:40:57 · 3704 阅读 · 1 评论 -
面试题系列解答:Mysql怎么分库分表
一、何谓分库分表?把原本存储于一个库的数据分块存储到多个库(主机)上,把原本存储于一个表的数据分块存储到多个表上。二、为什么要分库分表?数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大。另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有...原创 2019-08-05 17:01:06 · 1867 阅读 · 0 评论 -
面试题解答系列:同步与异步,阻塞与非阻塞的关系
这几个知识点其实用处很多,也是很容易搞混的,我们平时可能用了但是并没有发现,今天想来总结一下。我第一次感受到同步和异步的不同是在学习volatile的时候(因为我之前也没有多线程概念),之前也被同步啊这些概念搞的很乱。当我主线程新建了一个子线程之后两个线程是同时运行的,当时我才发现原来他们不是串行的,献丑了。好了进入正题。从总体来看,同步和异步的概念是大于阻塞与非阻塞,并且他们之间没有对应关系...原创 2019-08-01 17:29:13 · 940 阅读 · 0 评论 -
TCP/IP体系结构
一、简介1、传输控制协议/网络互联协议,是针对Internet开发的一种体系结构和协议标准,相对于OSI体系结构更简洁。2、结构类型:分层体系,由下至上分别是网络接口层、网际层、传输层和应用层(四层分法)。3、TCP/IP协议与OSI模型的对应关系(五层分法)。二、TCP/IP体系结构1、应用层:为用户的应用程序提供接口,使用户可以访问网络。(IE浏览器就处于应用层)HTTP 超...原创 2019-08-01 17:50:28 · 2349 阅读 · 0 评论 -
面试题解答系列:ISO/OSI七层模型,包括TCP,IP的一些基本知识
1.ISO/OSI七层模型下四层是为数据传输服务的,物理层是真正的传输数据的,数据链路层、网络层、传输层主要是写入对应数据的传输信息的物理层:比特设备之间的比特流的传输、物理接口、电气特性数据链路层:帧保存的最主要的信息是网卡的 mac 地址,mac 地址负责局域网通信的,发件人和收件人的mac 地址mac地址的作用:尽管你是要在互联网中传输数据(貌似需要IP地址就可以了),但是在互联...原创 2019-08-01 18:03:31 · 1307 阅读 · 0 评论 -
面试题解答系列:关系型数据库和非关系型数据的比较
一、关系型数据库关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织优点:1、易于维护:都是使用表结构,格式一致;2、使用方便:SQL语言通用,可用于复杂查询;3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。缺点:1、读写性能比较差,尤其是海量数据的高效率读写;2、固定的表结构,灵活度稍欠;3、高并发读写需求,传统关系型数据库来说,硬盘...原创 2019-08-06 16:01:51 · 1854 阅读 · 0 评论 -
村干货:25道经典Java算法题
即使做web开发,也会遇到各种各种需要解决的算法问题,本文节选部分经典练手算法,并提供相关参考答案,希望对你有所帮助【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题public class test01 {public static void main(S...原创 2019-07-24 20:07:06 · 262 阅读 · 0 评论 -
java程序猿面试你总会碰到的基础知识点
java中的基本数据类型图片描述(最多50字)说说&和&&的区别&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于i...原创 2019-05-28 11:21:39 · 209 阅读 · 0 评论 -
Spring、SpringMVC、SpringBoot的各析
在本文中,你将获取到有关于Spring,Spring MVC和Spring Boot的概述,了解他们解决的问题以及最佳的应用位置。最重要的是Spring,Spring MVC和Spring Boot不会矛盾。他们很好的解决了不同的问题。1.Spring框架解决的核心问题是什么?好好想想,Spring Framework解决了什么问题?Spring Framework最重要的特性是依赖注入所...原创 2019-05-28 13:30:36 · 395 阅读 · 0 评论 -
干货分享:新晋程序员不知道的25个编程小技巧
如果只是周而复始地写代码,想必编程的工作会让很多程序员发狂。如何在看似枯燥的工作寻找乐趣,我认为对工作的激情和兴奋感、始终学习的态度,还有掌握一些实用高效的编程技巧,对于提升工作乐趣和效率大有裨益。今天我就跟大家分享一下25个实用编程小技巧,希望可以给大家的工作和学习带来更多的思考。不要毫无计划地写代码,思考、调研、计划、编码、测试、修改,一个都不能少;不要写代码前过度计划,在一头钻...原创 2019-07-02 11:27:03 · 216 阅读 · 0 评论 -
Linux中文件和目录管理
1、Linux命令1)Shell命令解释器:负责接收用户输入的命令并解释,将需要执行的操作传递给系统内核bash:默认的Shell,位于/bin/bash内部指令:集成在Shell中,没有独立的程序文件,执行效率更高外部指令:能够完成特定功能的脚本文件或二进制程序注:可通过/etc/shells文件或chsh -l命令查看当前系统支持的shell2)命令格式命令字 [命令选项] [命...原创 2019-07-14 20:33:08 · 289 阅读 · 0 评论 -
Spring的连接数据库以及JDBC模板(实例讲解)
前言今天介绍的是关于Spring的数据库连接以及Jdbc模板的相关API方法,虽然在学习了hibernate之后,会知道实现数据库连接一般都是使用hibernate等持久化框架来实现的。但是,很多时候一些涉及到事务的东西使用这些框架并不能够实现,所以我们还需要结合spring来实现相关的需要。一、创建工程、导包要想使用Spring的jdbc模板前,还需要导入相关的jar包:二、进行相关的...原创 2019-07-15 11:54:49 · 2388 阅读 · 0 评论 -
JAVA开发异常处理十大秘诀
1.前提 第一层:遇到异常首先必须告诉自己,冷静,不要慌。(一看到Bug就心慌,那么武功就施展不了了)2.入门级第二层:遇到Bug,第一潜意识看输出异常的信息的(控制台输出,Junit输出,页面输出),优先将异常输出在控制台。建议:遇到JUnit异常输出,最好转成控制台输出。(对测试方法的代码try catch )如:一下异常如果在Junit查看,不好发现为,只知道是数据库出错了。转...原创 2019-07-23 20:22:18 · 211 阅读 · 0 评论 -
面试官最喜欢问的:多线程、线程并发面试题详解(volatile+ThreadLocal+Sleep)
1、什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。2、线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程...原创 2019-07-23 20:33:44 · 465 阅读 · 0 评论 -
@程序员,不会 Debug 还做什么开发?
原文地址:原文地址转自 知乎—架构师每个大程序里都有一个不安分的小程序”,想要成为一名好的开发人员,你得先真正学会 Debug 才行。以下为译文:总结我的编程生涯,可以得出如下两个硬道理:任何代码都可能出错,而且肯定会出错。代码有味道。而中和这些苦涩现实的唯一方法就是调试(Debug)。没错,就是调试。在刚开始接触编程的时候,没人会喜欢调试。相反,调试往往是沮丧和恐惧的根源。很多人...转载 2019-07-23 20:40:10 · 188 阅读 · 0 评论 -
高并发编程系列:CountDownLatch、Semaphore等4大并发工具类详解
通常我们所说的并发包也就是java.util.concurrent,Java并发编程集中在这个并发包种,主要包含:Java并发工具类和并发容器等。今天主要介绍concurrent包的内容以及4大并发工具类。并发工具包1.并发工具类提供了比synchronized更加高级的各种同步结构:包括CountDownLatch、CyclicBarrier、Semaphore等,可以实现更加丰富的多...原创 2019-07-29 15:59:33 · 983 阅读 · 0 评论 -
Java 中 double 在计算时精度丢失的问题
一、问题呈现非常经典问题,其实不仅仅是 Java 语言,还是 JS 等语言的通病,即:当我们在计算 0.1+0.2 时,惊讶的发现,结果竟然不是 0.3,而是:0.30000000000000004。二、问题分析问题很简单,是由于我们输入的十进制的 double 类型的数据在进行计算的时候,计算机会先将其转换为二进制数据,然后再进行相关的运算。然而在十进制转二进制的过程中,有些十进制数是...原创 2019-05-30 11:39:30 · 8870 阅读 · 0 评论