02 2020 档案

摘要:、Eureka注册中心高可用集群概述1-1、传统架构 在微服务架构的这种分布式系统中,我们要充分考虑各个微服务组件的高可用性问题,不能有单点故障,由于注册中心Eureka本身也是一个服务,如果它只有一个节点,那么它有可能发生故障,这样我们就不能注册与查询服务了,所以我们需要—个高可用的服务注册中心, 阅读全文
posted @ 2020-02-28 10:25 幽暗森林之猪大屁 阅读(162) 评论(0) 推荐(0) 编辑
摘要:一、Servlet简介Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。二、实现方式1、继承HttpServletAPI简介继承自 G 阅读全文
posted @ 2020-02-28 10:23 幽暗森林之猪大屁 阅读(185) 评论(0) 推荐(0) 编辑
摘要:前言 作为java开发人员,HashMap可谓是业务中的一把利器,9龙再次捡起这老生常谈的知识点,深入源码,细细品味。 首先,我们抛出几个关于HashMap的问题,带着问题去学习,就像捉迷藏一样有意思。 1、为什么要使用HashMap?HashMap有什么特性? 2、HashMap的主要参数有哪些? 阅读全文
posted @ 2020-02-28 10:13 幽暗森林之猪大屁 阅读(231) 评论(0) 推荐(0) 编辑
摘要:1.Stream流a.定义: Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。 一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。 Ja 阅读全文
posted @ 2020-02-28 10:05 幽暗森林之猪大屁 阅读(192) 评论(0) 推荐(0) 编辑
摘要:下面分别介绍搭建方法:一、直接使用Java EE的api进行搭建。一共3个步骤:1、添加依赖<dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope> 阅读全文
posted @ 2020-02-28 09:54 幽暗森林之猪大屁 阅读(10941) 评论(1) 推荐(2) 编辑
摘要:1、介绍。 先创建java代码,再进行编译。在运行前,代理类的.class文件已存在。事先知道要代理的是什么,通常只代理一个类。 优点:不需要知道委托类(实现类),只需知道代理即可。 缺点:(1)代码重复。代理类和委托类(实现类)实现了相同的接口。 (2)维护复杂。接口增加一个方法,代理类和委托类( 阅读全文
posted @ 2020-02-28 09:48 幽暗森林之猪大屁 阅读(138) 评论(0) 推荐(0) 编辑
摘要:Java 内存区域<ignore_js_op>Heap线程公有存放实例对象是GC主要管理区域,因此可以更细致的划分为:新生代、老年代再细致一点划分:Eden区、From Survivor区、To Survivor区内存空间:可以物理上不连续、逻辑上连续即可。Method Area线程公有主要存储:类 阅读全文
posted @ 2020-02-28 09:40 幽暗森林之猪大屁 阅读(365) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ 整合 SpringCloud实战RabbitMQ 整合 SpringCloud实战rabbitmq-common 子项目rabbitmq-springcloud-consumer 子项目rabbitmq-springcloud-producer 子项目RabbitMQ 整合 Spr 阅读全文
posted @ 2020-02-28 09:26 幽暗森林之猪大屁 阅读(683) 评论(0) 推荐(0) 编辑
摘要:数据库事务 1.说到数据库事务,人们脑海里自然不自然的就会浮现出事务的四大特性、四大隔离级别、七大传播特性。四大还好说,问题是七大传播特性是哪儿来的?是Spring在当前线程内,处理多个数据库操作方法事务时所做的一种事务应用策略。事务本身并不存在什么传播特性,不要混淆事务本身和Spring的事务应用 阅读全文
posted @ 2020-02-28 09:16 幽暗森林之猪大屁 阅读(156) 评论(0) 推荐(0) 编辑
摘要:当互联网的不断发展,各种信息都可以在网上获取,为此网民的数量也是在不断的增加之中。又因为移动端的发展,越来越多的人开始从pc端转移至移动端,使得移动端流量越来越大,而商家想要发展,就必须要重视移动端流量。而在建设移动端网站的时候,首先需要了解移动端网站建设有什么优势!第一、用户依赖程度对手机用户可以 阅读全文
posted @ 2020-02-28 09:05 幽暗森林之猪大屁 阅读(438) 评论(0) 推荐(0) 编辑
摘要:rabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式 RabbitMQ的高可用性 RabbitMQ是比较有代表性的,因为是基于主从做高可用性的,我们就以他为例子讲解第一种MQ的高可用性怎么实现。 rabbitmq有三种模式:单机模式,普通集群模式,镜像集群模式 1)单机模式 就是demo 阅读全文
posted @ 2020-02-27 16:09 幽暗森林之猪大屁 阅读(155) 评论(0) 推荐(0) 编辑
摘要:区别一: 在于当程序调用start方法一个新线程将会被创建,并且在run方法中的代码将会在新线程上运行, 然而在你直接调用run方法的时候,程序并不会创建新线程,run方法内部的代码将在当前线程上运行。 大多数情况下调用run方法是一个bug或者变成失误。 因为调用者的初衷是调用start方法去开启 阅读全文
posted @ 2020-02-27 15:58 幽暗森林之猪大屁 阅读(1568) 评论(0) 推荐(0) 编辑
摘要:相同点: java中class.forName() 和 classLoader 都可用来对类进行加载不同店: 1、class.forName()除了将类的 .class 文件加载到jvm中之外,还会对类进行解释,执行类中的static块,还会执行给静态变量赋值的静态方法 2、classLoader只 阅读全文
posted @ 2020-02-27 15:41 幽暗森林之猪大屁 阅读(144) 评论(0) 推荐(0) 编辑
摘要:一、spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的, 阅读全文
posted @ 2020-02-27 15:32 幽暗森林之猪大屁 阅读(98) 评论(0) 推荐(0) 编辑
摘要:rabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式 RabbitMQ的高可用性 RabbitMQ是比较有代表性的,因为是基于主从做高可用性的,我们就以他为例子讲解第一种MQ的高可用性怎么实现。 rabbitmq有三种模式:单机模式,普通集群模式,镜像集群模式 1)单机模式 就是demo 阅读全文
posted @ 2020-02-27 15:12 幽暗森林之猪大屁 阅读(142) 评论(0) 推荐(0) 编辑
摘要:区别一: 在于当程序调用start方法一个新线程将会被创建,并且在run方法中的代码将会在新线程上运行, 然而在你直接调用run方法的时候,程序并不会创建新线程,run方法内部的代码将在当前线程上运行。 大多数情况下调用run方法是一个bug或者变成失误。 因为调用者的初衷是调用start方法去开启 阅读全文
posted @ 2020-02-27 11:14 幽暗森林之猪大屁 阅读(266) 评论(0) 推荐(0) 编辑
摘要:相同点: java中class.forName() 和 classLoader 都可用来对类进行加载不同店: 1、class.forName()除了将类的 .class 文件加载到jvm中之外,还会对类进行解释,执行类中的static块,还会执行给静态变量赋值的静态方法 2、classLoader只 阅读全文
posted @ 2020-02-27 10:33 幽暗森林之猪大屁 阅读(245) 评论(0) 推荐(0) 编辑
摘要:一、spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的, 阅读全文
posted @ 2020-02-27 10:20 幽暗森林之猪大屁 阅读(635) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。 一、 阅读全文
posted @ 2020-02-27 10:05 幽暗森林之猪大屁 阅读(223) 评论(0) 推荐(0) 编辑
摘要:1.1. BOM和DOM的区别DOM就是一套操作HTML标签的API(接口/方法/属性)BOM就是一套操作浏览器的API(接口/方法/属性)1.2. BOM中常见的对象window: 代表整个浏览器窗口注意: window是BOM中的一个对象, 并且是一个顶级的对象(全局),下面的对象都能通过它找到 阅读全文
posted @ 2020-02-27 09:46 幽暗森林之猪大屁 阅读(611) 评论(0) 推荐(0) 编辑
摘要:一、资料文档 Kafka:中。有kafka作者自己写的书,网上资料也有一些。rabbitmq:多。有一些不错的书,网上资料多。zeromq:少。没有专门写zeromq的书,网上的资料多是一些代码的实现和简单介绍。rocketmq:少。没有专门写rocketmq的书,网上的资料良莠不齐,官方文档很简洁 阅读全文
posted @ 2020-02-26 12:01 幽暗森林之猪大屁 阅读(244) 评论(0) 推荐(0) 编辑
摘要:大概每个人在学生时代开始就使用Java了,我们一直在学习Java,但Java中总有一些概念含混不清,不论是对初级还是高级程序员都是如此。所以,这篇文章的目的就是弄清楚这些概念。 读完本文你会对这些概念有更深入的了解,还能弄清楚一切灰色的东西。在本书中,我们将讨论匿名内联类、多线程、同步和序列化。 1 阅读全文
posted @ 2020-02-26 11:57 幽暗森林之猪大屁 阅读(236) 评论(0) 推荐(0) 编辑
摘要:在Map集合框架中,除了HashMap以外,TreeMap也是常用到的集合对象之一。与HashMap相比,TreeMap是一个能比较元素大小的Map集合,会对传入的key进行了大小排序。其中,可以使用元素的自然顺序,也可以使用集合中自定义的比较器来进行排序;不同于HashMap的哈希映射,TreeM 阅读全文
posted @ 2020-02-26 11:45 幽暗森林之猪大屁 阅读(31249) 评论(2) 推荐(2) 编辑
摘要:Spring简介Spring不是服务于开发web项目的功能,或业务。而是服务于项目的开发,方便各层间的解耦调用,方便对类的批量管理,是提高软件开发效率,降低后期维护成本的框架。Spring的核心思想是IOC(控制反转),AOP(切面编程)两点。IOC:即不再需要程序员去显式地New一个对象,而是把S 阅读全文
posted @ 2020-02-26 11:29 幽暗森林之猪大屁 阅读(710) 评论(0) 推荐(0) 编辑
摘要:JVM的东西太多了,我们刚开始学java的时候,就会接触堆、栈,还有方法区,因为我们要知道new出来的对象放在哪里,局部变量放在哪里,static修饰的变量放在哪里。 我从网上截一个图: 这里有三大部分: classloader runtime data area execution engine 阅读全文
posted @ 2020-02-26 11:17 幽暗森林之猪大屁 阅读(124) 评论(0) 推荐(0) 编辑
摘要:Cookie的介绍:Cookie 定义:Cookie 用于浏览器端的数据存储,解决了不同请求之间需要数据共享的问题。例如,可以将用户的登录信息接收并设置为Cookie,对其进行相关操作以使得用户在特定时间内向某服务器发送请求时,无需再次输入这些数据。Cookie 应用场景:记住密码、特定期限内免登录 阅读全文
posted @ 2020-02-26 11:06 幽暗森林之猪大屁 阅读(236) 评论(0) 推荐(0) 编辑
摘要:先说java中实现多线程常用的两种方式: 1:继承Thread类,并重写run()方法 2:实现Runnable接口,实现run方法实际上Thread类也是实现了Runnable接口 [Java] 纯文本查看 复制代码 ? 1 2 3 public class Thread implements R 阅读全文
posted @ 2020-02-26 10:58 幽暗森林之猪大屁 阅读(317) 评论(0) 推荐(0) 编辑
摘要:原文地址:https://blog.csdn.net/qiaoquan3/article/details/56281092/Thread.Sleep(0) 表示挂起0毫秒,你可能觉得没作用,你要写Thread.Sleep(1000) 就有感觉了。似乎毫无意义。MSDN的说明:指定零 (0) 以指示应 阅读全文
posted @ 2020-02-26 10:54 幽暗森林之猪大屁 阅读(265) 评论(0) 推荐(0) 编辑
摘要:1.使用 yum 安装docker(CentOS 7下): Docker 要求 CentOS 系统的内核版本高于 3.10 1.首先通过 uname -r 命令查看你当前的内核版本 指令:uname –r 2.使用su root切换用户权限到root 指令:su root 输入你root权限的密码( 阅读全文
posted @ 2020-02-26 10:43 幽暗森林之猪大屁 阅读(212) 评论(0) 推荐(0) 编辑
摘要:一、简介一个分布式系统由若干分布式服务构成,每一个请求会经过多个业务系统并留下足迹,但是这些分散的数据对于问题排查,或是流程优化都很有限。要能做到追踪每个请求的完整链路调用,收集链路调用上每个服务的性能数据,计算性能数据和比对性能指标(SLA),甚至能够再反馈到服务治理中,那么这就是分布式跟踪的目标 阅读全文
posted @ 2020-02-26 10:30 幽暗森林之猪大屁 阅读(630) 评论(0) 推荐(0) 编辑
摘要:近日,Google的工程部副总裁Dave Burke在官方博客上正式发布开发者预览版5,此预览版是android 7.0 “牛轧糖”正式发布前最后一个预览版,同时也是在性能、功能上等多方面的表现上最接近Android 7.0正式版的预览版。 对于Android N 的新特性解析,黑马程序员早在Goo 阅读全文
posted @ 2020-02-25 11:25 幽暗森林之猪大屁 阅读(168) 评论(0) 推荐(0) 编辑
摘要:前言: Spring中最重要的概念IOC和AOP,实际围绕的就是Bean的生成与使用。 什么叫做Bean呢?我们可以理解成对象,每一个你想交给Spring去托管的对象都可以称之为Bean。 今天通过Spring官方文档来了解下,如何生成bean,如何使用呢?1.通过XML的方式来生成一个bean 最 阅读全文
posted @ 2020-02-25 11:06 幽暗森林之猪大屁 阅读(879) 评论(0) 推荐(0) 编辑
摘要:前言:面试技巧另外开篇再说,先上面试干货吧。Redis、消息队列、SQL不要走开,关注后更精彩!1、面向对象的特点有哪些?抽象、继承、封装、多态。2、接口和抽象类有什么联系和区别?3、重载和重写有什么区别?4、java有哪些基本数据类型?5、数组有没有length()方法?String有没有leng 阅读全文
posted @ 2020-02-25 10:57 幽暗森林之猪大屁 阅读(287) 评论(0) 推荐(0) 编辑
摘要:前台html代码 [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 <div style="margin-top: 50px;"> <span>验证码:</span><input type="text" name="verifyCode" id="v 阅读全文
posted @ 2020-02-25 10:47 幽暗森林之猪大屁 阅读(400) 评论(0) 推荐(0) 编辑
摘要:mysql中in和exists的区别-- in写法select * from A where A.id in (select bid from B ) and A.name in (select bname from B ) ;​-- exits写法select * from A where EXI 阅读全文
posted @ 2020-02-25 10:40 幽暗森林之猪大屁 阅读(1840) 评论(0) 推荐(0) 编辑
摘要:基础概念进程进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动。操作系统中,几乎所有运行中的任务对应一条进程(Process)。一个程序进入内存运行,即变成一个进程。进程是处于运行过程中的程序,并且具有一定独立功能。描述进程的有一句话非常经典的话——进程是 阅读全文
posted @ 2020-02-25 10:30 幽暗森林之猪大屁 阅读(182) 评论(0) 推荐(0) 编辑
摘要:分布式锁场景在分布式环境下多个操作需要以原子的方式执行首先启一个springboot项目,再引入redis依赖包:<!-- https://mvnrepository.com/artifa ... -starter-data-redis --><dependency> <groupId>org.sp 阅读全文
posted @ 2020-02-25 10:10 幽暗森林之猪大屁 阅读(2194) 评论(0) 推荐(0) 编辑
摘要:在开发中使用Mybatis经常使用到#{}与${},依旧有很多开发者对二者的使用不是很清晰,正所谓好记性不如烂笔头,特此总结一下。在mybatis中动态 sql 是其主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在执行操作之前 mybatis 会对其进行动态解析。mybatis 阅读全文
posted @ 2020-02-25 10:00 幽暗森林之猪大屁 阅读(301) 评论(0) 推荐(0) 编辑
摘要:官方提供的常用条件注解因为Spring的核心是基于bean的,所以这些条件注解主要是影响bean的注册。因为注册的bean不同了,最后对外呈现的行为就不同了。不就是自动配置了。一、最常用的应该是@Profile注解了根据不同的环境可以注册不同的bean,如下图01: 首先,不激活任何环境,执行一下, 阅读全文
posted @ 2020-02-25 09:44 幽暗森林之猪大屁 阅读(386) 评论(0) 推荐(0) 编辑
摘要:Redis最简单的事务实现方式是使用MULTI,DISCARD,EXEC命令将事务操作包围起来,MULTI 和 EXEC 中的操作将会一次性发送给服务器,这种方式称为流水线,减少客户端与服务器之间的网络通信次数,提升性能redis事务三阶段:开启:以MULTI开始一个事务入队:将多个命令入队到事务队 阅读全文
posted @ 2020-02-25 09:32 幽暗森林之猪大屁 阅读(188) 评论(0) 推荐(0) 编辑
摘要:写在前面说起Java和C++,很容易想到让人疯狂的指针,Java使用了内存动态分配和垃圾回收技术,让我们从C++的各种指针问题中摆脱出来,更加专心于业务逻辑,不过如果我们需要深入了解java的JVM相关原理,我们必须要面对这些东西,深入了解JVM在内存动态分配和垃圾回收技术的原理知识,这篇文章就是来 阅读全文
posted @ 2020-02-24 10:56 幽暗森林之猪大屁 阅读(346) 评论(0) 推荐(0) 编辑
摘要:1、概念简介JavaWeb三大组件:Servlet,Listener,Filter。监听器就是指在应用程序中监听相关对象状态变化的组件。2、事件源对象指被监听对象。ServletContextServletContextListener生命周期监听,它有两个方法,出生时调用contextInitia 阅读全文
posted @ 2020-02-24 10:52 幽暗森林之猪大屁 阅读(182) 评论(0) 推荐(0) 编辑
摘要:首先介绍一下Java的各个层级,先放一张图: 硬件,操作系统和操作系统接口:这三级不说大家都知道,操作系统有很多种,比如Windows,Linux。Windows又分为win7,win10,win xp等等;Linux有Ubuntu,CentOS;操作系统接口就是系统为开发者预留的,方便调用从而控制 阅读全文
posted @ 2020-02-24 10:48 幽暗森林之猪大屁 阅读(1253) 评论(1) 推荐(1) 编辑
摘要:•写在前面说起Java和C++,很容易想到让人疯狂的指针,Java使用了内存动态分配和垃圾回收技术,让我们从C++的各种指针问题中摆脱出来,更加专心于业务逻辑,不过如果我们需要深入了解java的JVM相关原理,我们必须要面对这些东西,深入了解JVM在内存动态分配和垃圾回收技术的原理知识,这篇文章就是 阅读全文
posted @ 2020-02-24 10:41 幽暗森林之猪大屁 阅读(240) 评论(0) 推荐(0) 编辑
摘要:使用这些高效Java工具类享受开发乐趣导语在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。在开发中,使用这些工具类,不仅可以提高编码效率,还可以提高代码可读性。一,org.apache.commons.lang.StringUtilsisBlank 阅读全文
posted @ 2020-02-24 10:26 幽暗森林之猪大屁 阅读(199) 评论(0) 推荐(0) 编辑
摘要:如果你没有看过之前的文章,也不要紧,这并不影响你对接下来的内容的理解,不过为了照顾直接看到第二篇的同学,还是有必要介绍一下HuTool的引入方式。在项目的pom.xml的dependencies中加入以下内容:<dependency> <groupId>cn.hutool</groupId> <ar 阅读全文
posted @ 2020-02-24 10:17 幽暗森林之猪大屁 阅读(386) 评论(0) 推荐(0) 编辑
摘要:创建函数的三种方式1.函数声明function calSum1(num1, num2) { return num1 + num2;}console.log(calSum1(10, 10));2.函数表达式var calSum2 = function (num1, num2) { return num 阅读全文
posted @ 2020-02-24 10:09 幽暗森林之猪大屁 阅读(127) 评论(0) 推荐(0) 编辑
摘要:说下upstream这个配置的,这个配置是写一组被代理的服务器地址,然后配置负载均衡的算法。这里的被代理服务器地址有2中写法。写法一:upstream mysvr { server 192.168.10.121:3333; server 192.168.10.122:3333; }server { 阅读全文
posted @ 2020-02-24 10:03 幽暗森林之猪大屁 阅读(128) 评论(0) 推荐(0) 编辑
摘要:最近在用ssm框架做一个管理系统,做到登录验证时,使用了下面的代码生成图片验证码,最终的效果如下图。Java类 [AppleScript] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 2 阅读全文
posted @ 2020-02-24 09:51 幽暗森林之猪大屁 阅读(203) 评论(0) 推荐(0) 编辑
摘要:项目结构首先看一下整个项目的目录结构,如下:导入Jar包工欲善必先利其器,导入一下Jar包,对应的jar包我已经分享在百度云网盘,大家可以下载,网址如下:链接:https://pan.baidu.com/s/1m5NCIQeiKZn5llosp7Iv6A 提取码:s5l2 配置文件web.xml配置 阅读全文
posted @ 2020-02-24 09:28 幽暗森林之猪大屁 阅读(213) 评论(0) 推荐(0) 编辑
摘要:集合的迭代流使得程序员得以站在更高的抽象层次上对集合进行操作。传统的迭代方法直接看代码: List<Dog> dogs = new ArrayList<>(); dogs.add(new Dog("大黄", 2)); dogs.add(new Dog("小黑", 3)); dogs.add(new 阅读全文
posted @ 2020-02-24 09:21 幽暗森林之猪大屁 阅读(387) 评论(0) 推荐(0) 编辑
摘要:什么是SpringBootSpringBoot的作用SpringBoot的优点SpringBoot的核心配置文件是什么,有何区别?SpringBoot的配置文件有几种格式,区别是什么?SpringBoot读取配置文件的几种方式Spring Boot 如何定义多套不同环境配置SpringBoot的常用 阅读全文
posted @ 2020-02-21 10:52 幽暗森林之猪大屁 阅读(196) 评论(0) 推荐(0) 编辑
摘要:在JavaScript中,创建函数是比较常见的操作,但是JavaScript中怎么创建函数呢,有几种方式可以创建函数呢?在JavaScript一般有三种方式创建对象1.函数声明方式格式:function 函数名(参数1,参数2,···){} [JavaScript] 纯文本查看 复制代码 ? 1 2 阅读全文
posted @ 2020-02-21 10:48 幽暗森林之猪大屁 阅读(248) 评论(0) 推荐(0) 编辑
摘要:什么是nginx?Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的Web和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。nginx服务器基本特征 处理静态文件,索 阅读全文
posted @ 2020-02-21 10:43 幽暗森林之猪大屁 阅读(120) 评论(0) 推荐(0) 编辑
摘要:undefined boolean string number object function constructor 判断对象的类型: [].constructor Array/123/.constructor RegExp(10).constructor Number 但自定义的类型就不可以用这 阅读全文
posted @ 2020-02-21 10:38 幽暗森林之猪大屁 阅读(67) 评论(0) 推荐(0) 编辑
摘要:1、工厂模式 function createPerson(name, job) { var o = new Object() o.name = name o.job = job o.sayName = function() { console.log(this.name) } return o }v 阅读全文
posted @ 2020-02-21 10:20 幽暗森林之猪大屁 阅读(141) 评论(0) 推荐(0) 编辑
摘要:过滤器模式 过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。 实现 我们将创建一个 Per 阅读全文
posted @ 2020-02-21 10:12 幽暗森林之猪大屁 阅读(311) 评论(0) 推荐(0) 编辑
摘要:在软件开发过程中,应用程序中的有些对象可能会根据不同的情况做出不同的行为,我们把这种对象称为有状态的对象,而把影响对象行为的一个或多个动态变化的属性称为状态。当有状态的对象与外部事件产生互动时,其内部状态会发生改变,从而使得其行为也随之发生改变。如人的情绪有高兴的时候和伤心的时候,不同的情绪有不同的 阅读全文
posted @ 2020-02-21 10:04 幽暗森林之猪大屁 阅读(334) 评论(0) 推荐(0) 编辑
摘要:桥接模式 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 我们通过下面的实 阅读全文
posted @ 2020-02-21 09:56 幽暗森林之猪大屁 阅读(114) 评论(0) 推荐(0) 编辑
摘要:每个人都有犯错误的时候,都希望有种“后悔药”能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且是有必要的。这个功能由“备忘录模式”来实现。其实很多应用软件都提供了这项功能,如 Word、记事本、Photoshop、E 阅读全文
posted @ 2020-02-21 09:48 幽暗森林之猪大屁 阅读(208) 评论(0) 推荐(0) 编辑
摘要:在阅读Handler源码时发现了这么一个东西,本想直混在其他博客中一笔带过,但仔细想了下这个东西还是蛮重要的,于是开了这篇博客。ThreadLocalthreadlocal使用方法很简单static final ThreadLocal<T> sThreadLocal = new ThreadLoca 阅读全文
posted @ 2020-02-21 09:39 幽暗森林之猪大屁 阅读(126) 评论(0) 推荐(0) 编辑
摘要:一、选择器权重问题; ! important>内联样式(1,0,0,0)>id选择器(0,1,0,0)>类选择器、属性选择器、伪类选择器(0,0,1,0)>元素选择器、伪对象(0,0,0,1)> 通配符选择器(0,0,0,0)>继承的属性>浏览器默认样式。 二、盒模型的理解 所有HTML元素可以看作 阅读全文
posted @ 2020-02-20 10:52 幽暗森林之猪大屁 阅读(344) 评论(0) 推荐(0) 编辑
摘要:1.什么是装箱,什么是拆箱装箱:把基本数据类型转换为包装类。拆箱:把包装类转换为基本数据类型。基本数据类型所对应的包装类:int(几个字节4)- Integerbyte(1)- Byteshort(2)- Shortlong(8)- Longfloat(4)- Floatdouble(8)- Dou 阅读全文
posted @ 2020-02-20 10:50 幽暗森林之猪大屁 阅读(347) 评论(0) 推荐(0) 编辑
摘要:大纲 ATM 机系统 1.注册(账户(系统随机生成 15 位) - 密码(6位) - 余额) 2.登录 4.修改密码 3.查询余额 4.存钱 -(显示操作完成后的余额) 5.取钱 - (显示操作完成后的余额) 6.退出 7.支持通过银行卡转账功能(未完成) 8.数据持久化(未完成)public cl 阅读全文
posted @ 2020-02-20 10:41 幽暗森林之猪大屁 阅读(372) 评论(0) 推荐(0) 编辑
摘要:蒲公英Ghost Win 7 Sp1(x86/x64)旗舰版 201910 <ignore_js_op> <ignore_js_op> <ignore_js_op> 蒲公英win7下载地址.rar (12.99 KB, 下载次数: 2) 阅读全文
posted @ 2020-02-20 10:29 幽暗森林之猪大屁 阅读(193) 评论(0) 推荐(0) 编辑
摘要:什么是SpringBoot SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework同属于spring的产品: <ignore_js_op> 我们可以看到下面的一段介绍: Takes anopinionated view of building produ 阅读全文
posted @ 2020-02-20 10:21 幽暗森林之猪大屁 阅读(170) 评论(0) 推荐(0) 编辑
摘要:Dubbo快速入门 Dubbo作为一个RPC框架,其最核心的功能就是要实现跨网络的远程调用。本小节就是要创建两个应用,一个作为服务的提供方,一个作为服务的消费方。通过Dubbo来实现服务消费方远程调用服务提供方的方法。 服务提供方开发 开发步骤: (1)创建maven工程(打包方式为war)dubb 阅读全文
posted @ 2020-02-20 10:11 幽暗森林之猪大屁 阅读(198) 评论(0) 推荐(0) 编辑
摘要:1)枚举型可以直接与数据库打交道,我通常使用varchar类型存储,对应的是枚举的常量名。(数据库中好像也有枚举类型,不过也没用过) 2) switch语句支持枚举型,当switch使用int、String类型时,由于值的不稳定性往往会有越界的现象,对于这个的处理往往只能通过if条件筛选以及defa 阅读全文
posted @ 2020-02-20 09:58 幽暗森林之猪大屁 阅读(3879) 评论(0) 推荐(0) 编辑
摘要:oracle 存储过程的基本语法1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATE 阅读全文
posted @ 2020-02-20 09:32 幽暗森林之猪大屁 阅读(301) 评论(0) 推荐(0) 编辑
摘要:1.位运算概述 从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。 口说无凭,举一个简单的例子来看下CPU是如何进行计算的,比如这行代码: int a = 35;int b = 47;int 阅读全文
posted @ 2020-02-20 09:24 幽暗森林之猪大屁 阅读(144) 评论(0) 推荐(0) 编辑
摘要:一、jdk1.8中,对“HashMap的容量一定要是2的n次幂”做了严格控制 1.默认初始容量: [Java] 纯文本查看 复制代码 ? 1 2 3 4 /** * The default initial capacity - MUST be a power of two.(默认初始容量——必须是2 阅读全文
posted @ 2020-02-20 09:11 幽暗森林之猪大屁 阅读(1336) 评论(1) 推荐(1) 编辑
摘要:package seday10;/*** @author xingsir* 互斥锁* 当使用synchronized锁定多个代码片段,并且他们指定的同步监视器对象是同一个时,那么这些代码片段之间就是互斥的,* 多个线程不能同时在这些代码片段中运行。*/public class syncDemo4 { 阅读全文
posted @ 2020-02-19 16:00 幽暗森林之猪大屁 阅读(184) 评论(0) 推荐(0) 编辑
摘要:《“死锁”四个必要条件的合理解释》分为三个部分: 【1】“死锁”的含义 【2】“死锁”的原因及四个必要条件的合理解释 【3】“死锁”的预防和解除 1.“死锁”的含义 所谓死锁: 是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下 阅读全文
posted @ 2020-02-19 15:50 幽暗森林之猪大屁 阅读(330) 评论(0) 推荐(0) 编辑
摘要:package seday10;/*** @author xingsir* 静态方法若使用synchronized修饰,这个方法一定具有同步效果。静态方法上使用的同步监视器对象为这个类的"类对象",* 每个java定义的类都只有唯一的一个类对象(Class类型的的实 例)*/public class 阅读全文
posted @ 2020-02-19 15:36 幽暗森林之猪大屁 阅读(261) 评论(0) 推荐(0) 编辑
摘要:首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的 阅读全文
posted @ 2020-02-19 15:16 幽暗森林之猪大屁 阅读(146) 评论(0) 推荐(0) 编辑
摘要:程序在运行过程中,会产生大量的内存垃圾(一些没有引用指向的内存对象都属于内存垃圾,因为这些对象已经无法访问,程序用不了它们了,对程序而言它们已经死亡),为了确保程序运行时的性能,java虚拟机在程序运行的过程中不断地进行自动的垃圾回收(GC)。关于 JVM 的 GC 算法主要有下面四种:1、引用计数 阅读全文
posted @ 2020-02-19 15:06 幽暗森林之猪大屁 阅读(4240) 评论(0) 推荐(0) 编辑
摘要:我们常常在实际开发调用一些类库,或者本身框架里面有类库去实现判断字符串空的操作,但是某些场景下上不是很方便去引入外部库的,所以需要我们自己去做这个工作,事实上判断空的操作不是很复杂,所以做个记录。空字符串的几种情况public class Jvm1221 { public static void m 阅读全文
posted @ 2020-02-19 14:56 幽暗森林之猪大屁 阅读(821) 评论(0) 推荐(0) 编辑
摘要:1.抽象和封装的不同点抽象和封装是互补的概念。一方面,抽象关注对象的行为。另一方面,封装关注对象行为的细节。一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略。2.重载和重写的区别重载: 发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和 阅读全文
posted @ 2020-02-19 14:48 幽暗森林之猪大屁 阅读(156) 评论(0) 推荐(0) 编辑
摘要:1、servlet执行流程 客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请 阅读全文
posted @ 2020-02-19 14:39 幽暗森林之猪大屁 阅读(127) 评论(0) 推荐(0) 编辑
摘要:一、多线程编程简介 1、为什么需要并发编程我们知道目前我们计算机基本是基于X86架构的,而基于X86架构的机器主频超不过4GHz,随着信息时代的来临,我们需要处理的数据越来越大,因此对程序的性能也要求越来越高,提高程序的性能,一方面需要提高运行环境的配置,也就是配性能更好的机器,更快的CPU更大的内 阅读全文
posted @ 2020-02-19 14:28 幽暗森林之猪大屁 阅读(124) 评论(0) 推荐(0) 编辑
摘要:XML的打包与解析 一、XML语言的特点 1、XML独立于任何编程语言,允许人们按接收者容易解析的方式,对复杂数据进行编码。先来看一个简单的XML格式的文件: [XML] 纯文本查看 复制代码 ? 1 2 3 4 5 6 <note> <to>George</to> <from>John</from 阅读全文
posted @ 2020-02-19 14:17 幽暗森林之猪大屁 阅读(143) 评论(0) 推荐(0) 编辑
摘要:算法之排序一 一、排序 经典排序:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。排序算法优越评价有三个指标,执行效率、内存消耗、稳定性,一般来讲,在分析效率时会从几个方面来衡量: 时间复杂度。会从最好、最坏和平均情况三个来分析; 时间复杂度的系数、常数 、低阶。在对同 阅读全文
posted @ 2020-02-18 16:29 幽暗森林之猪大屁 阅读(111) 评论(0) 推荐(0) 编辑
摘要:Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。系统时间:指当前Linux Kernel中的时间。硬件时间:主板上有电池供电的时间。查看系统时间的命令: #date设置系统时间的命令: #date –set(月/日/年 时:分:秒) 阅读全文
posted @ 2020-02-18 16:22 幽暗森林之猪大屁 阅读(90) 评论(0) 推荐(0) 编辑
摘要:一、XML语言的特点 1、XML独立于任何编程语言,允许人们按接收者容易解析的方式,对复杂数据进行编码。先来看一个简单的XML格式的文件: [XML] 纯文本查看 复制代码 ? 1 2 3 4 5 6 <note> <to>George</to> <from>John</from> <heading 阅读全文
posted @ 2020-02-18 16:15 幽暗森林之猪大屁 阅读(157) 评论(0) 推荐(0) 编辑
摘要:更多技术资讯可关注:itheima获取(公冢号) Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。系统时间:指当前Linux Kernel中的时间。硬件时间:主板上有电池供电的时间。查看系统时间的命令: #date设置系统时间的命令 阅读全文
posted @ 2020-02-18 15:45 幽暗森林之猪大屁 阅读(107) 评论(0) 推荐(0) 编辑
摘要:linux系统对外开放80、8080等端口,防火墙设置我们很多时候在liunx系统上安装了web服务应用后(如tomcat、apache等),需要让其它电脑能访问到该应用,而Linux系统(centos、redhat等)的防火墙是默认只对外开放了22端口。方法1.关闭防火墙用root登录后,执行 s 阅读全文
posted @ 2020-02-18 15:37 幽暗森林之猪大屁 阅读(290) 评论(0) 推荐(0) 编辑
摘要:微信公众平台官网:https://mp.weixin.qq.com文章目录一、注册公众号二、了解公众号管理页面三、必备开发者工具的使用1.开发者文档2.在线接口调试工具3.web开发者工具4.公众平台测试账号四、细读开发者文档五、开发流程重点解析1.开发环境准备2.服务器基本配置3.存取access 阅读全文
posted @ 2020-02-18 15:31 幽暗森林之猪大屁 阅读(942) 评论(0) 推荐(1) 编辑
摘要:背景为实现快速搭建和开发,项目以Springboot框架搭建,springboot搭建的项目可以将项目直接打成jar包并运行,无需自己安装配置Tomcat或者其他服务器,是一种方便快捷的部署方式。假设项目以最常规的方式打包成一个整体的jar包部署,即配置文件和第三方依赖包都包含在jar包里,就会有如 阅读全文
posted @ 2020-02-18 15:25 幽暗森林之猪大屁 阅读(973) 评论(0) 推荐(0) 编辑
摘要:高级查询 高级查询的格式: select ... 聚合函数 from 表名 where ... group by ... having ... order by ... limit ... order by 给查询结果排序 语法格式: ... order by 字段名 ASC/DESC; ASC:默 阅读全文
posted @ 2020-02-18 15:10 幽暗森林之猪大屁 阅读(202) 评论(0) 推荐(0) 编辑
摘要:要明白子类和父类的初始化执行顺序,只需要知晓以下三点,就不会再弄错了。1.创建子类对象时,子类和父类的静态块和构造方法的执行顺序为:父类静态块->子类静态块->父类构造器->子类构造器。深入理解为什么是这个顺序,可以看我这篇文章:从京东面试题看java类和对象的初始化2.静态变量的声明和赋值,声明会 阅读全文
posted @ 2020-02-18 15:03 幽暗森林之猪大屁 阅读(545) 评论(0) 推荐(0) 编辑
摘要:Spring IOC的初始化流程1、项目从 ApplicationContext app = new ClassPathXmlApplicationContext(“applicationContext.xml”);2、找到工厂实现类【ClassPathXmlApplicationContext】中 阅读全文
posted @ 2020-02-18 14:55 幽暗森林之猪大屁 阅读(146) 评论(0) 推荐(0) 编辑
摘要:算法之排序二 四、冒泡排序与插入排序 为何在实际中倾向于使用插入排序而不是冒泡排序,尽管它们的时间复杂度都是O(n2),而且也都是稳定的。看一下两个算法在交换元素数值的处理上就知道了。对于冒泡排序,交换两个元素时需要引入中间变量,也就是如果需要交换 A 和 B,我们需要让 A 赋值给 C,然后让 A 阅读全文
posted @ 2020-02-17 13:20 幽暗森林之猪大屁 阅读(116) 评论(0) 推荐(0) 编辑
摘要:一、算术运算符运算符:对常量或者变量进行操作的符号表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。注意:不同运算符连接的表达式体现的是不同类型的表达式。 + 加法运算,字符串连接运算 - 减法运算 * 乘法运算 / 除法运算 % 取模运算,两个数字相除取余数 扩展:+ 阅读全文
posted @ 2020-02-17 13:12 幽暗森林之猪大屁 阅读(141) 评论(0) 推荐(0) 编辑
摘要:数组的基本使用一、数组的定义概念: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。格式一:数组存储的数据类型[] 数组名字;举例:int[] arr;格式二:数组存储的数据类型 数组名字[];举例:int arr[];二、数组动态初始化格式:数组存储的数据类型[] 数组名字 = ne 阅读全文
posted @ 2020-02-17 13:03 幽暗森林之猪大屁 阅读(173) 评论(0) 推荐(0) 编辑
摘要:三大部署方式1. Context描述文件部署通过独立的Context文件描述清楚项目的访问路径和地址,tomcat在启动的时候会解析这个Context文件,创建一个Context对象。 Context文件的存储路径默认路径(通过server文件配置)为:tomcat/conf/<Engine nam 阅读全文
posted @ 2020-02-17 12:52 幽暗森林之猪大屁 阅读(192) 评论(0) 推荐(0) 编辑
摘要:jvm由多个部分组成运作的 1.class loader类加载器: 加载类到内存里面,Class loader只需负责加载. 符合条件结构就加载到里面跑, 是否能运行顺利或者有没有错误异常,则需要Exectution Engine 负责 2.Exectution Engine:解释器又叫执行引擎.主 阅读全文
posted @ 2020-02-17 12:44 幽暗森林之猪大屁 阅读(390) 评论(0) 推荐(0) 编辑
摘要:1. Context描述文件部署通过独立的Context文件描述清楚项目的访问路径和地址,tomcat在启动的时候会解析这个Context文件,创建一个Context对象。 Context文件的存储路径默认路径(通过server文件配置)为:tomcat/conf/<Engine name属性名称> 阅读全文
posted @ 2020-02-17 12:35 幽暗森林之猪大屁 阅读(97) 评论(0) 推荐(0) 编辑
摘要:class loader 类加载器:加载类文件到内存。Class loader只管加载,只要符合文件结构就加载,至于能否运行,它不负责,那是有Exectution Engine 负责的。exection engine :执行引擎也叫解释器,负责解释命令,交由操作系统执行。native interfa 阅读全文
posted @ 2020-02-17 12:22 幽暗森林之猪大屁 阅读(183) 评论(0) 推荐(0) 编辑
摘要:Bank类package First;import java.util.TreeSet;//银行类public class Bank { private String Bankname = "坑对对银行"; //银行名称 TreeSet<User> holder = null; //银行存储的信息 阅读全文
posted @ 2020-02-17 12:13 幽暗森林之猪大屁 阅读(1483) 评论(0) 推荐(0) 编辑
摘要:一个商城包括多个商品、多个用户。拥有销售商品、展示商品和查找商品功能。2) 一个用户拥有一个购物车,购物车具有结算功能。3) 商城具有名称,静态字符串类型4) 用户类是抽象类,两个子类,售货员和顾客。购买商品作为抽象方法,售货员购买享八折优惠。5) 商品和用户不再用二维数组,而是用类集来表示。pac 阅读全文
posted @ 2020-02-17 11:59 幽暗森林之猪大屁 阅读(291) 评论(0) 推荐(0) 编辑
摘要:多线程的三大特性 原子性: 是指一个操作是不可中断的。即使是多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。 比如,对于一个静态全局变量int i,两个线程同时对它赋值,线程A给他赋值为1,线程B给他赋值为-1。那么不管这两个线程 以何种方式。何种步调工作,i的值要么是1,要么是-1 阅读全文
posted @ 2020-02-17 11:20 幽暗森林之猪大屁 阅读(222) 评论(0) 推荐(0) 编辑
摘要:里氏替换原则的定义里氏替换原则(Liskov Substitution Principle,LSP)由麻省理工学院计算机科学实验室的里斯科夫(Liskov)女士在 1987 年的“面向对象技术的高峰会议”(OOPSLA)上发表的一篇文章《数据抽象和层次》(Data Abstraction and H 阅读全文
posted @ 2020-02-14 10:08 幽暗森林之猪大屁 阅读(171) 评论(0) 推荐(0) 编辑
摘要:依赖倒置原则的定义依赖倒置原则(Dependence Inversion Principle,DIP)是 Object Mentor 公司总裁罗伯特·马丁(Robert C.Martin)于 1996 年在 C++ Report 上发表的文章。依赖倒置原则的原始定义为:高层模块不应该依赖低层模块,两 阅读全文
posted @ 2020-02-14 10:03 幽暗森林之猪大屁 阅读(200) 评论(0) 推荐(0) 编辑
摘要:OpenResty 1.lua表达式 2.Nginx的安装 3.OpenResty 因为咱们已经意识到了Nginx 很强大,咱们也想使用它来进行逻辑上的开发,但是由于Nginx 是C语言 写的,所以Java开发工程师很难在上边进行开发,所以咱们有了OpenResty ,OpenResty 一套底层封 阅读全文
posted @ 2020-02-14 09:57 幽暗森林之猪大屁 阅读(302) 评论(0) 推荐(0) 编辑
摘要:原码:原码是符号位加上真值的绝对值, 但是它是用第一位表示符号, 其余位表示值反码: 正数的反码是其自身 负数的反码是符号位不变,数值位取反(0变1,1变0)补码: 正数的补码是其自身 负数的补码是符号位不变,数值位取反再加1(这里要注意的是遇到2就要进1,例如:1000 0001加1,变成1000 阅读全文
posted @ 2020-02-14 09:51 幽暗森林之猪大屁 阅读(812) 评论(0) 推荐(0) 编辑
摘要:本帖最后由 王德升老师 于 2019-12-27 17:56 编辑byte的取值范围为什么是-128~127?如果面试官问你取值范围包含127吗?1. 首先我们知道Java中byte类型是1个字节占8位的。最高位是符号位(正数或者负数),其余7位是数值位。 2. [AppleScript] 纯文本查 阅读全文
posted @ 2020-02-14 09:42 幽暗森林之猪大屁 阅读(535) 评论(0) 推荐(0) 编辑
摘要:根据《Java 虚拟机规范(Java SE 7版)》规定,Java虚拟机所管理的内存将会包括一下几个运行时数据区域:<ignore_js_op> 1.程序计数器 程序计数器(Program Counter Register) 是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚 阅读全文
posted @ 2020-02-14 09:34 幽暗森林之猪大屁 阅读(116) 评论(0) 推荐(0) 编辑
摘要:1.加载 加载(loading)阶段是“类加载” (Class Loading)过程的一个阶段,在加载阶段,虚拟机需要完成以下三件事情: 1)通过一个类的全限定名来获取定义此类的二进制字节流。 2)将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 3)在Java堆中生成一个代表这个类的j 阅读全文
posted @ 2020-02-14 09:26 幽暗森林之猪大屁 阅读(151) 评论(0) 推荐(0) 编辑
摘要:并发编程面试题-内存模型说下内存模型定义为什么要有内存模型为什么要重排序,重排序在什么时候排如何约束重排序规则happens-before什么是顺序一致性CAS 实现的原理,是阻塞还是非阻塞方式?什么时候用,使用时需要考虑的问题处理器和 Java 分别怎么保证原子操作保证了原子性就能保证可见性吗?f 阅读全文
posted @ 2020-02-14 09:15 幽暗森林之猪大屁 阅读(171) 评论(0) 推荐(0) 编辑
摘要:反射:字面意思就是反向映射。通常我们都是通过类来获取对象,而反射则正好相反,它是通过对象来获取到对象所属的类。并且可以获取到类的完整结构(包括private修饰的信息)。反射的重要性:反射使我们不需要在编译时知道类型,而可以延迟到运行时获得对象的属性、调用对象的方法。使得 Java 语言具有了动态性 阅读全文
posted @ 2020-02-14 09:08 幽暗森林之猪大屁 阅读(122) 评论(0) 推荐(0) 编辑
摘要:1. 创建线程1.1 继承Thread类将一个类声明为 Thread 的子类,这个子类重写 Thread 类的方法 run() 。然后可以分配并启动子类的实例。使用这个方法可以用 this 来表示当前线程。重写代码如下:class MyThread extends Thread { @Overrid 阅读全文
posted @ 2020-02-14 08:59 幽暗森林之猪大屁 阅读(201) 评论(0) 推荐(0) 编辑
摘要:本帖最后由 执迷不悟 于 2019-12-30 18:31 编辑Docker 安装 Python方法一、docker pull python:3.5 查找 Docker Hub 上的 Python 镜像: 可以通过 Sort by 查看其他版本的 python,默认是最新版本 python:last 阅读全文
posted @ 2020-02-13 10:59 幽暗森林之猪大屁 阅读(576) 评论(0) 推荐(0) 编辑
摘要:Docker 安装 PHP安装 PHP 镜像方法一、docker pull php 查找 Docker Hub 上的 php 镜像: 可以通过 Sort by 查看其他版本的 php,默认是最新版本 php:latest。 此外,我们还可以用 docker search php 命令来查看可用版本: 阅读全文
posted @ 2020-02-13 10:54 幽暗森林之猪大屁 阅读(776) 评论(0) 推荐(0) 编辑
摘要:SpringBoot中Shiro使用Pac4j集成CAS认证 Pac4j 简介 Pac4j与Shiro,Spring Security一样都是权限框架,并且提供了OAuth - SAML - CAS - OpenID Connect - HTTP - OpenID - Google App Engi 阅读全文
posted @ 2020-02-13 10:42 幽暗森林之猪大屁 阅读(3712) 评论(0) 推荐(0) 编辑
摘要:体现: 父类的引用可以指向子类的对象接口的引用可以指向实现类的对象转型: 向上转型由子类类型转型为父类类型,或者由实现类类型转型为接口类型向上转型一定会成功,是一个隐式转换向上转型后的对象,将只能访问父类或者接口中的成员向下转型由父类类型转型为子类类型,或者由接口类型转型为实现类类型向下转型可能会失 阅读全文
posted @ 2020-02-13 10:36 幽暗森林之猪大屁 阅读(110) 评论(0) 推荐(0) 编辑
摘要:性能调优 性能调优包含多个层次,比如:架构调优、代码调优、JVM调优、数据库调优、操作系统调优等。 架构调优和代码调优是JVM调优的基础,其中架构调优是对系统影响最大的。 性能调优基本上按照以下步骤进行:明确优化目标、发现性能瓶颈、性能调优、通过监控及数据统计工具获得数据、确认是否达到目标。 何时进 阅读全文
posted @ 2020-02-13 10:29 幽暗森林之猪大屁 阅读(319) 评论(0) 推荐(0) 编辑
摘要:SpringBoot中的SpringMVC配置功能都是在WebMvcAutoConfiguration类中,xxxxAutoConfiguration就是帮我们给容器中自动配置组件的;idea全局搜索的快捷键是两次shift,查看webMvcAutoConfiguration 查看webMvc自动配 阅读全文
posted @ 2020-02-13 10:23 幽暗森林之猪大屁 阅读(1780) 评论(0) 推荐(0) 编辑
摘要:package com.xkzhangsan.time.test;import java.time.LocalDateTime;import java.util.Date;import com.xkzhangsan.time.LunarDate;import com.xkzhangsan.time. 阅读全文
posted @ 2020-02-13 10:09 幽暗森林之猪大屁 阅读(261) 评论(0) 推荐(0) 编辑
摘要:在 Java 虚拟机内存区域中,除了程序计数器外,其他几个内存区域都可能会发生OutOfMemoryError,这次通过一些代码来验证虚拟机各个内存区域存储的内容。在实际工作中遇到内存溢出异常时,需要做到能根据异常信息快速判断是哪个内存区域的溢出,知道什么样的代码会导致这些区域内存溢出,并且知道出现 阅读全文
posted @ 2020-02-13 10:00 幽暗森林之猪大屁 阅读(225) 评论(0) 推荐(0) 编辑
摘要:Java8 HashMapJava8 对 HashMap 进行了一些修改,最大的不同就是利用了红黑树,所以其由 数组+链表+红黑树 组成。根据 Java7 HashMap 的介绍,我们知道,查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但是之后的话,需要顺着链表一个个比较下去才能找 阅读全文
posted @ 2020-02-13 09:52 幽暗森林之猪大屁 阅读(347) 评论(0) 推荐(0) 编辑
摘要:Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调 阅读全文
posted @ 2020-02-13 09:41 幽暗森林之猪大屁 阅读(295) 评论(0) 推荐(0) 编辑
摘要:通过上一篇 多线程并发 (一) 了解 Java 虚拟机 - JVM 了解了java 虚拟机的构成以及对象的创建等。从Java虚拟机栈我们知道每当我们创建一个线程JVM就会给我们的线程分配一个私有的内存空间和程序计数器记录当前线程运行的次行代码的地址。了解了Thread之后,通过多线程编程进而引入锁( 阅读全文
posted @ 2020-02-12 11:01 幽暗森林之猪大屁 阅读(245) 评论(0) 推荐(0) 编辑
摘要:Mybatis简介: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain 阅读全文
posted @ 2020-02-12 10:56 幽暗森林之猪大屁 阅读(799) 评论(0) 推荐(0) 编辑
摘要:Dubbo的集群容错策略 正常情况下,当我们进行系统设计时候,不仅要考虑正常逻辑下代码该如何走,还要考虑异常情况下代码逻辑应该怎么走。当服务消费方调用服务提供方的服务出现错误时候,Dubbo提供了多种容错方案,缺省模式为failover,也就是失败重试。 Dubbo提供的集群容错模式 下面看下Dub 阅读全文
posted @ 2020-02-12 10:43 幽暗森林之猪大屁 阅读(348) 评论(0) 推荐(0) 编辑
摘要:关于分布式系统的连环炮为什么要进行系统拆分?拆分后不用dubbo可以吗?系统越来越复杂,维护起来非常麻烦,各种冲突,各种合并,非常耗费时间,之间依赖复杂,异常处理起来非常麻烦,各种痛苦拆分后每个服务都是一个单独的模块,一个人维护一个服务,每个机器部署一个服务, 避免了很多冲突,代码清爽可以,但是我们 阅读全文
posted @ 2020-02-12 10:32 幽暗森林之猪大屁 阅读(135) 评论(0) 推荐(0) 编辑
摘要:dubbo的spi是什么Spi服务实现类接口分布式系统怎么保证消息的顺序性?假如一个用户发送了3个请求,如何保证这三个请求在分布式系统中的执行顺序,首先我们为这三个请求设置唯一的id,保证这三个请求的关联性,不让这三个请求直接请求到分布式服务器,而是通过接入服务去分发这三个请求要请求到节点机器,首先 阅读全文
posted @ 2020-02-12 10:20 幽暗森林之猪大屁 阅读(170) 评论(0) 推荐(0) 编辑
摘要:在我们平时开发的项目中,定时任务基本属于必不可少的功能,那大家都是怎么做的呢?但我知道的大多都是静态定时任务实现。 基于注解来创建定时任务非常简单,只需几行代码便可完成。实现如下: [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 <font 阅读全文
posted @ 2020-02-12 10:12 幽暗森林之猪大屁 阅读(953) 评论(0) 推荐(0) 编辑
摘要:<ignore_js_op> Class Loader类加载器负责加载class文件,class文件在文件开头有特定的文件标识,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。Method Area方法区(永久区)方法区是被所用的线 阅读全文
posted @ 2020-02-12 09:57 幽暗森林之猪大屁 阅读(152) 评论(0) 推荐(0) 编辑
摘要:内存分配1)对象的内存分配,往大的方向讲,就是在堆上分配2)对象优先在Eden分3)大对象直接进入老年代4)长期存活的对象进入老年代:对象在Survivor区每“熬过”一次Minor GC,年数加1,当它的年数增加到一定的程度(默认为15次),该对象就会晋升到老年代类与类加载器类加载器虽然只用于实现 阅读全文
posted @ 2020-02-12 09:43 幽暗森林之猪大屁 阅读(108) 评论(0) 推荐(0) 编辑
摘要:对于Kafka与RabbitMQ、ActiveMQ协议,它们具体的区别如下:activemq: activemq支持主从复制、集群。但是集群功能看起来很弱,只有failover功能,即我连一个失败了,可以切换到其他的broker上。这一点貌似不太科学。假设有三个broker,其中一个上面没有cons 阅读全文
posted @ 2020-02-12 09:29 幽暗森林之猪大屁 阅读(702) 评论(0) 推荐(0) 编辑
摘要:Spring Boot的运行是由注解@EnableAutoConfiguration提供的它的关键功能是@Import注解。 EnableAutoConfigurationImportSelector 使用 SpringFactoriesLoader.loadFactoryNames 方法来扫描具有 阅读全文
posted @ 2020-02-12 09:22 幽暗森林之猪大屁 阅读(235) 评论(0) 推荐(0) 编辑
摘要:Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。 Motan 是新浪微博开源的一个Java 框架。它诞生的比较晚,起于2013年,2016年5月开源。Motan 在微博平台中已经广泛应用,每 阅读全文
posted @ 2020-02-11 11:45 幽暗森林之猪大屁 阅读(845) 评论(0) 推荐(0) 编辑
摘要:需要的jar: [XML] 纯文本查看 复制代码 ? 1 2 3 4 5 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.0</version> </depe 阅读全文
posted @ 2020-02-11 11:37 幽暗森林之猪大屁 阅读(573) 评论(0) 推荐(0) 编辑
摘要:几个重要概念实参、形参形式参数:定义函数名和函数体时候使用的参数,目的用来接收调用该函数时传入的参数实际参数:在调用有参函数时,主调函数与被调函数之间有数据传递关系。实际参数是调用有参方法的时候真正传递的内容。public void tes(String name){ // 形式参数 name Sy 阅读全文
posted @ 2020-02-11 11:06 幽暗森林之猪大屁 阅读(147) 评论(0) 推荐(0) 编辑
摘要:Marketpackage market;public class Market { private String marname; private Product[] productarr; public Product[] getProductarr() { return productarr; 阅读全文
posted @ 2020-02-11 10:39 幽暗森林之猪大屁 阅读(329) 评论(0) 推荐(0) 编辑
摘要:内存溢出和内存泄漏 一、内存溢出和内存泄露概述 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后 阅读全文
posted @ 2020-02-11 10:14 幽暗森林之猪大屁 阅读(186) 评论(0) 推荐(0) 编辑
摘要:前言面试之中,很多时候会被问到常见的垃圾回收算法,以及优缺点还有使用场景。这些都是常见的问题,今天总结一篇,方便以后查阅,如果有什么出入,还请读者多多提出写问题,多谢!什么是垃圾回收?程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存 资源,终将导致内存溢出,所以对内存资源 阅读全文
posted @ 2020-02-11 10:07 幽暗森林之猪大屁 阅读(518) 评论(1) 推荐(0) 编辑
摘要:什么是栈帧?正如大家所了解的,Java虚拟机的内存区域被划分为程序计数器、虚拟机栈、本地方法栈、堆和方法区。(什么?你还不知道,赶紧去看看《Java虚拟机内存结构及编码实战》)这次要介绍的栈帧(Stack Frame),就是Java虚拟机中的虚拟机栈(Virtual Machine Stack)的基 阅读全文
posted @ 2020-02-11 09:50 幽暗森林之猪大屁 阅读(395) 评论(0) 推荐(0) 编辑
摘要:一种:使用@ControllerAdvice和@ExceptionHandler注解 第二种: 使用ErrorController类来实现。 第一种:使用@ControllerAdvice和@ExceptionHandler注解 [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 阅读全文
posted @ 2020-02-11 09:35 幽暗森林之猪大屁 阅读(205) 评论(0) 推荐(0) 编辑
摘要:[size=2em]前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人 阅读全文
posted @ 2020-02-11 09:23 幽暗森林之猪大屁 阅读(125) 评论(0) 推荐(0) 编辑
摘要:一、概述 我们都知道 *.java 文件要首先被编译成 *.class 文件才能被 JVM 认识,这部分的工作主要由 Javac 来完成,类似于 Javac 这样的我们称之为前端编译器; 但是 *.class 文件也不是机器语言,怎么才能让机器识别呢?就需要 JVM 将 *.class 文件编译成机 阅读全文
posted @ 2020-02-10 10:59 幽暗森林之猪大屁 阅读(170) 评论(0) 推荐(0) 编辑
摘要:前言 一眨眼,2019年就过去了。我希望从按照中间件,分别阐述一些常见的架构问题,以及解决方案。一方面这些问题与解决方案具备一定通用性 。另一方面,也算是面试中常见的问题。 我希望根据自己待过各种规模公司的经验来谈一些看法。 如果是针对大部分小公司的工作或面试,这些问题都稍微留下个印象即可。因为小公 阅读全文
posted @ 2020-02-10 10:25 幽暗森林之猪大屁 阅读(238) 评论(0) 推荐(0) 编辑
摘要:本系列笔记主要基于《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》,是这本书的读书笔记。 如何查看JVM运行时参数,对于线上JVM调优是很关键的,因为只有知道了当前使用的JVM参数是什么值,才能知道如何进行调优。 以下JVM参数,可以用来打印JVM运行时参数及它们的值: 参数说明-XX: 阅读全文
posted @ 2020-02-10 10:19 幽暗森林之猪大屁 阅读(1044) 评论(0) 推荐(0) 编辑
摘要:1、创建工程环境勾选Web、Mybatis、MySQL,如下在这里插入图片描述依赖如下<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> < 阅读全文
posted @ 2020-02-10 10:12 幽暗森林之猪大屁 阅读(153) 评论(0) 推荐(0) 编辑
摘要:JQuery实例 例1.添加,删除class 知识要点: 1. 通过<script src='jquery-1.12.4.js></script>调用jquery 2. 相对于Dom的document.getElementbyID('i1'), JQuery直接使用$('#i1'); 类似的,查找类 阅读全文
posted @ 2020-02-10 10:06 幽暗森林之猪大屁 阅读(175) 评论(0) 推荐(0) 编辑
摘要:前言 之前面试的时候被问到死锁这块的问题,借着最近学习jvm来总结下死锁相关的知识。如果有地方写的不到位的地方,麻烦读者及时提出,放在评论区,我这边也好及时改正。 回顾 所谓,温故而知新,首先回顾下,我们之前学过的线程的状态以及死锁产生的条件。 线程的状态在Java中线程的状态一共被分成6种:<ig 阅读全文
posted @ 2020-02-10 09:56 幽暗森林之猪大屁 阅读(664) 评论(0) 推荐(0) 编辑
摘要:释义 策略模式和多态很相似 可以理解为定义了一个统一的接口,有许多不同的实现类,可以自由选择不同的实时类去执行。 实现 上代码: 定义一个统一的接口: [JavaScript] 纯文本查看 复制代码 ? 1 2 3 4 5 public interface CalcStrategy { void c 阅读全文
posted @ 2020-02-10 09:47 幽暗森林之猪大屁 阅读(1346) 评论(0) 推荐(0) 编辑
摘要:springmvc拦截器是偶尔会用到的一个功能,本案例来演示一个较简单的springmvc拦截器的使用,并通过源码来分析拦截器的执行顺序的控制。具体操作步骤为:1、maven项目引入spring依赖2、配置web.xml中的DispatcherServlet3、准备两个拦截器,并在springmvc 阅读全文
posted @ 2020-02-10 09:37 幽暗森林之猪大屁 阅读(382) 评论(0) 推荐(0) 编辑
摘要:为什么要分库分表?你用过哪些分库分表的中间件?不同的分库分表中间件有什么优缺点?你们具体是如何对数据库如何进行垂直拆分或者水平拆分的?在系统承受高并发压力的情况下,数据库中数据量巨大,磁盘读写效率降低。为了降低数据库的压力,我们采用分库分表的设计,分表:单表都几千万数据量量,数据量太大,会影响sql 阅读全文
posted @ 2020-02-10 09:26 幽暗森林之猪大屁 阅读(165) 评论(0) 推荐(0) 编辑
摘要:1、项目从 ApplicationContext app = new ClassPathXmlApplicationContext(“applicationContext.xml”);2、找到工厂实现类【ClassPathXmlApplicationContext】中对应的构造方法,执行ioc容器初 阅读全文
posted @ 2020-02-10 09:06 幽暗森林之猪大屁 阅读(622) 评论(0) 推荐(0) 编辑
摘要:虽然现在微服务越来越流行,我们的系统随之也拆分出来好多的模块功能。这样做的目的其实就是为了弥补单体架构中存在的不足。随着微服务的拆分,肯定设计到分库分表,但这之中肯定设计到分布式事务。最典型的例子就是银行转账,比如银行A给银行B转账500 块钱,流程肯定是银行A-500,银行B+500,在这个过程要 阅读全文
posted @ 2020-02-07 10:47 幽暗森林之猪大屁 阅读(631) 评论(0) 推荐(0) 编辑
摘要:一般对于业务复杂的流程,会有一些处理逻辑不需要及时返回,甚至不需要返回值,但是如果充斥在主流程中,占用大量时间来处理,就可以通过异步的方式来优化。实现异步的常用方法远不止两种,但是个人经验常用的,好用的,这里我就说两种,最好用的是第二种。spring的注解方式@Async org.springfra 阅读全文
posted @ 2020-02-07 10:39 幽暗森林之猪大屁 阅读(1098) 评论(0) 推荐(1) 编辑
摘要:1、内存模型以及分区,需要详细到每个区放什么?2、堆里面的分区:Eden,survival (from+ to),老年代,各自的特点?3、对象创建方法,对象的内存分配,对象的访问定位?4、GC 的两种判定方法?5、SafePoint 是什么?6、GC 的三种收集方法:标记清除、标记整理、复制算法的原 阅读全文
posted @ 2020-02-07 10:27 幽暗森林之猪大屁 阅读(290) 评论(0) 推荐(0) 编辑
摘要:页面跳转的两种方式(转发和重定向)区别详解: 作为一名程序员,特别是java web开发的程序员,在使用servlet/jsp的时候,我们必须要知道实现页面跳转的两种方式的区别和联系:即转发和重定向的区别。 1、RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中 阅读全文
posted @ 2020-02-07 09:58 幽暗森林之猪大屁 阅读(238) 评论(0) 推荐(0) 编辑
摘要:Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servler.Servlet接口的init(),service()和destroy()方法表达。 加载Servlet的class-->实例化Servlet--> 调用Servlet的init 阅读全文
posted @ 2020-02-07 09:48 幽暗森林之猪大屁 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Linux下的防火墙有两种:Iptables和Firewall(概念以及区别大家可以自行搜索)。为什么要关闭防火墙呢?主要是我们都过Linux搭建服务器的时候其他机器访问会被墙掉,例如:Tomcat,elasticsearch等。其实在我们实际开发过程中,需要关闭的一般只是第二种防火墙,即Firew 阅读全文
posted @ 2020-02-07 09:33 幽暗森林之猪大屁 阅读(1274) 评论(0) 推荐(0) 编辑
摘要:Servlet_生命周期:首先加载servlet的class,实例化servlet,然后初始化servlet调用init()的方法,接着调用服务的service的方法处理doGet和doPost方法,最后是我的还有容器关闭时候调用destroy 销毁方法。1.被创建:执行init方法,只执行一次 1 阅读全文
posted @ 2020-02-07 09:24 幽暗森林之猪大屁 阅读(117) 评论(0) 推荐(0) 编辑
摘要:在java中实现页面跳转一般有两种方式,一种是请求转发,一种是重定向,那么这两者有什么区别呢?一、请求转发 请求转发一般是这样的一个过程:客户端发送请求到服务器端,服务器端经过匹配的servlet,并执行,当这个servlet执行完之后,调用getRequestDispacther()方法,把请求转 阅读全文
posted @ 2020-02-07 09:09 幽暗森林之猪大屁 阅读(388) 评论(0) 推荐(0) 编辑
摘要:一 、生命周期servlet 声明周期可以分四个阶段:init() 初始化过程service() 服务过程,选择doGet \ doPostdestroy() 销毁过程servlet接口如下 [Java] 纯文本查看 复制代码 ? 1 2 3 4 5 6 7 public interface Ser 阅读全文
posted @ 2020-02-07 09:03 幽暗森林之猪大屁 阅读(154) 评论(0) 推荐(0) 编辑
摘要:前言 在互联网中通信需要借助 IP 地址来定位到主机,而 IP 地址由很多数字组成,对于人类来说记住某些组合数字很困难,于是,为了方便大家记住某地址而引入主机名和域名。 早期的网络中的机器数量很少,能很方便地通过 hosts 文件来完成主机名称和 IP 地址的映射,这种方式需要用户自己维护网络上所有 阅读全文
posted @ 2020-02-07 08:55 幽暗森林之猪大屁 阅读(602) 评论(0) 推荐(0) 编辑
摘要:概况 在程序中为了能直接以 Java 对象的形式进行保存,然后再重新得到该 Java 对象,这就需要序列化能力。序列化其实可以看成是一种机制,按照一定的格式将 Java 对象的某状态转成介质可接受的形式,以方便存储或传输。其实想想就大致清楚基本流程,序列化时将 Java 对象相关的类信息、属性及属性 阅读全文
posted @ 2020-02-06 11:54 幽暗森林之猪大屁 阅读(151) 评论(0) 推荐(0) 编辑
摘要:Java 9 这个版本对进程管理方面的改进也是相当大的。在为数不多的几次 Java 项目中,有偶尔用到多线程,但对多进程和进程方面的了解还真是太少。 我想,大部分人应该跟我一样,在编程之外知道有进程的东西的存在,在 Java 中反而会忽视,因为多线程和并发 ( Concurrency ) 的存在感更 阅读全文
posted @ 2020-02-06 11:48 幽暗森林之猪大屁 阅读(198) 评论(0) 推荐(0) 编辑
摘要:方块操作符 ( <> ) 在 Java 7 中就引入了,目的是为了使代码更可读。 但是呢,这个操作符一直不能在匿名内部类中使用 Java 9 修正了这个问题,就是可以在匿名内部类中使用方块操作符了,在匿名类大行其道的今天,这才叫优化了阅读体验... 我们来看看一段 Java 9 之前的代码 Diam 阅读全文
posted @ 2020-02-06 11:42 幽暗森林之猪大屁 阅读(151) 评论(0) 推荐(0) 编辑
摘要:Tomcat启动入口就在脚本startup.sh中,具体脚本可以看tomcat的源码,这个启动脚本主要用来判断环境,找到catalina.sh脚本路径,将启动参数传递给catalina.sh执行。catalina.sh start 最终会执行org.apache.catalina.startup.B 阅读全文
posted @ 2020-02-06 11:36 幽暗森林之猪大屁 阅读(128) 评论(0) 推荐(0) 编辑
摘要:链表:一、 顺序存储结构虽然是一种很有用的存储结构,但是他有如下几点局限性:1. 因为创造线性表的时候已经固定了空间,所以当需要扩充空间时,就需要重新创建一个地址连续的更大的存储空间。并把原有的数据元素复制进新的存储空间。2. 因为顺序表要求数据的存储位置不仅是逻辑上相邻而且物理存储上也要相邻,所以 阅读全文
posted @ 2020-02-06 11:26 幽暗森林之猪大屁 阅读(157) 评论(0) 推荐(0) 编辑
摘要:华为OD面试1性格测试选积极向上的选项,注意,性格测试也会挂人,我一个朋友性格测试就没过。2机试 一道变成题目 1h 用例60%通过即可任给一个数组,元素有20M,1T,300G之类的,其中1T=1000G,1G=1000M按从小到大输出结果例如:输入:320M1T300G输出:20M300G1T我 阅读全文
posted @ 2020-02-06 11:16 幽暗森林之猪大屁 阅读(5961) 评论(0) 推荐(0) 编辑
摘要:一. 产生跨域的原因 1.浏览器限制 2.跨域 3.XHR(XMLHttpRequest)请求 二. 解决思路 解决跨域有多重,在这里主要讲用nginx解决跨域 1.JSONP 2.nginx代理 3.浏览器禁止检查跨域 三. 下载安装nginx 选择其中一个版本下载,再解压即可使用 在nginx目 阅读全文
posted @ 2020-02-06 11:07 幽暗森林之猪大屁 阅读(1579) 评论(0) 推荐(0) 编辑
摘要:引言 我们在开发过程中经常需要修改本地代码,并提交到git或svn。要运行程序则需要将svn或git上的代码编译并部署到web服务器。这个部署如果是手动的则每次都需要执行编译命令,再手动把war文件之类拷贝到服务器,最后重启tomcat,次数多了就会显得很繁琐。Jenkins就是为了解决自动化部署而 阅读全文
posted @ 2020-02-06 10:59 幽暗森林之猪大屁 阅读(189) 评论(0) 推荐(0) 编辑
摘要:近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。 这三个类之间的区别 阅读全文
posted @ 2020-02-06 10:50 幽暗森林之猪大屁 阅读(144) 评论(0) 推荐(0) 编辑
摘要:在Redis的生产环境中,大量客户端连接请求某一个key,但都需要从DB中获取数据,来回写数据库,如下图:<ignore_js_op>造成的问题:大量的线程请求数据库,造成数据库压力,还有就是请求会变慢。解决办法:在缓存层面做一个互斥锁,达到只有单个线程来更新数据的目的,但是响应还是很慢,只是db压 阅读全文
posted @ 2020-02-06 10:43 幽暗森林之猪大屁 阅读(454) 评论(0) 推荐(0) 编辑
摘要:SpringMVC源码剖析1——执行流程 00.SpringMVC执行流程file:///C:/Users/WANGGA~1/AppData/Local/Temp/enhtmlclip/Image.png 01.拦截所有的请求,访问DispatcherServlet<ignore_js_op>02. 阅读全文
posted @ 2020-02-05 11:42 幽暗森林之猪大屁 阅读(182) 评论(0) 推荐(0) 编辑
摘要:SpringMVC源码剖析1——执行流程 00.SpringMVC执行流程file:///C:/Users/WANGGA~1/AppData/Local/Temp/enhtmlclip/Image.png 01.拦截所有的请求,访问DispatcherServlet<ignore_js_op>02. 阅读全文
posted @ 2020-02-05 11:34 幽暗森林之猪大屁 阅读(90) 评论(0) 推荐(0) 编辑
摘要:1.处理器映射器 HandlerMapping一句话概括作用: 为 我 们 建 立 起 @RequestMapping 注 解 和 控 制 器 方 法 的 对 应 关 系 。怎么去查看第一步:处理器映射器的实体类:RequestMappingHandlerMapping 父类 RequestMapp 阅读全文
posted @ 2020-02-05 11:23 幽暗森林之猪大屁 阅读(401) 评论(0) 推荐(0) 编辑
摘要:在数据库中,我们通过创建索引可以大大提高查询的速度,一个好的索引可以另SQL的查询更加效率。而一个错误的索引不仅带不来效率的提高,甚至会带来额外的系统开销索引的基本操作创建索引建表时创建索引建表的时候指定CREATE TABLE user( ID INT NOT NULL, username VAR 阅读全文
posted @ 2020-02-05 11:15 幽暗森林之猪大屁 阅读(984) 评论(0) 推荐(0) 编辑
摘要:最近在复习数据库索引部分,看到了 fulltext,也即全文索引,虽然全文索引在平时的业务中用到的不多,但是感觉它有点儿意思,所以花了点时间研究一下,特此记录。引入概念通过数值比较、范围过滤等就可以完成绝大多数我们需要的查询,但是,如果希望通过关键字的匹配来进行查询过滤,那么就需要基于相似度的查询, 阅读全文
posted @ 2020-02-05 11:04 幽暗森林之猪大屁 阅读(173) 评论(0) 推荐(0) 编辑
摘要:经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。 另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考 ORM的权衡和抉择。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当然如果你的Li 阅读全文
posted @ 2020-02-05 10:52 幽暗森林之猪大屁 阅读(216) 评论(0) 推荐(0) 编辑
摘要:如下一条sql语句: [SQL] 纯文本查看 复制代码 ? # table T (id int, name varchar(20)) delete from T where id = 10; MySQL在执行的过程中,是如何加锁呢? 在看下面这条语句: [SQL] 纯文本查看 复制代码 ? sele 阅读全文
posted @ 2020-02-05 10:45 幽暗森林之猪大屁 阅读(416) 评论(0) 推荐(0) 编辑
摘要:没事的时候,我并不喜欢逛 P 站,而喜欢逛 programcreek 这些技术型网站,于是那天晚上,在夜深人静的时候,我就发现了一个专注基础但不容忽视的主题。比如说:Java 中的 null 到底是什么鬼?像这类灵魂拷问的主题,非常值得深入地研究一下。 null 在 Java 中是一个特殊的存在,因 阅读全文
posted @ 2020-02-05 10:32 幽暗森林之猪大屁 阅读(278) 评论(0) 推荐(0) 编辑
摘要:一、二分法查找 1.二分法查找是建立在已经排序的基础之上的 2.程序分析是从下到大​排序。 3.这个数组中没有重复的元素​。 [url=][/url]package com.bjpowernode.java_learning;​public class D71_1_ { public static  阅读全文
posted @ 2020-02-05 10:26 幽暗森林之猪大屁 阅读(332) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ一般情况很少丢失,但是不能排除意外,为了保证我们自己系统高可用,我们必须作出更好完善措施,保证系统的稳定性。 下面来介绍下,如何保证消息的绝对不丢失的问题,下面分享的绝对干货,都是在知名互联网产品的产线中使用。 1.消息持久化 2.ACK确认机制 3.设置集群镜像模式 4.消息补偿机 阅读全文
posted @ 2020-02-05 10:21 幽暗森林之猪大屁 阅读(255) 评论(0) 推荐(0) 编辑
摘要:背景有处理过生产问题的同学基本都能遇到系统忽然缓慢,CPU突然飙升,甚至整个应用请求不可用。当出现这种情况下,在不影响数据准确性的前提下,我们应该尽快导出jstack和内存信息,然后重启系统,尽快回复系统的可用性,避免用户体验过差。本文针对CPU飙升问题,提供该问题的排查思路,从而能够快速定位到某线 阅读全文
posted @ 2020-02-04 11:36 幽暗森林之猪大屁 阅读(482) 评论(0) 推荐(0) 编辑
摘要:1、性能 对值类型使用非泛型集合类,在把值类型转换为引用类型,和把引用类型转换为值类型时,需要进行装箱和拆箱操作。装箱和拆箱的操作很容易实现,但是性能损失较大。假如使用泛型,就可以避免装箱和拆箱操作。1 ArrayList list=new ArrayList();2 list.Add(20); / 阅读全文
posted @ 2020-02-04 11:28 幽暗森林之猪大屁 阅读(241) 评论(0) 推荐(0) 编辑
摘要:从没有枚举的时代说起 在枚举出现之前,如果想要表示一组特定的离散值,往往使用一些常量。例如: [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class E 阅读全文
posted @ 2020-02-04 11:16 幽暗森林之猪大屁 阅读(373) 评论(0) 推荐(0) 编辑
摘要:集合是Java开发日常开发中经常会使用到的。关于集合类,《阿里巴巴Java开发手册》中其实还有另外一个规定: 1.我们先来写一段代码在JDK 1.7 (jdk1.7.0_79)下面来分别测试下,在不指定初始化容量和指定初始化容量的情况下性能情况如何。(jdk 8 结果会有所不同,我会在后面的文章中分 阅读全文
posted @ 2020-02-04 11:05 幽暗森林之猪大屁 阅读(276) 评论(0) 推荐(0) 编辑
摘要:相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构。 因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面试中出现的频率特别高。楼主自认为自己对MySQL的索引相关知识有很多了解,而且因为最近在找工作面试,所以单独复习了很多关于索引 阅读全文
posted @ 2020-02-04 10:48 幽暗森林之猪大屁 阅读(609) 评论(0) 推荐(0) 编辑
摘要:SpringMVC的运行流程图 ⑴ 用户发送请求至前端控制器DispatcherServlet ⑵ DispatcherServlet收到请求调用HandlerMapping处理器映射器。 ⑶ 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给Disp 阅读全文
posted @ 2020-02-04 10:39 幽暗森林之猪大屁 阅读(112) 评论(0) 推荐(0) 编辑
摘要:1.synchronized的底层原理? synchronized底层原理,是跟JVM指令和monitor有关,你如果用到了synchronized关键字,在底层的JVM指令中,会有monitorenter和monitorexit两个指令,每个对象都有一个关联的monitor,如果要对一个对象加锁, 阅读全文
posted @ 2020-02-04 10:28 幽暗森林之猪大屁 阅读(147) 评论(0) 推荐(0) 编辑
摘要:单例模式:保证一个类有且仅有一个实例. 通过定义我们可知它是创建型的一种, 也是比较简单的一种单例模式的使用场景: 频繁的进行创建和销毁的对象、创建对象时消耗过多或者消费资源过多,但又经常用到的对象、工具类对象、频繁访问数据库或文件的对象.下面主要分析一下单例模式的六种写法, 以及优缺点!饿汉式(静 阅读全文
posted @ 2020-02-04 10:17 幽暗森林之猪大屁 阅读(405) 评论(0) 推荐(0) 编辑
摘要:次面试事故面试官:你看过哪些源码?我:都挺熟悉的面试官:对hashMap了解程度怎么样?面试官:那你能讲讲 HashMap的实现原理吗?面试官:HashMap什么时候会进行 rehash?面试官:结合源码说说 HashMap在高并发场景中为什么会出现死循环?我:…我:抱歉…面试官:嗯。面试官:… 把 阅读全文
posted @ 2020-02-04 10:07 幽暗森林之猪大屁 阅读(449) 评论(0) 推荐(0) 编辑
摘要:[color=rgba(0, 0, 0, 0.75)]今天来记录一下,在项目中因为基本类型,所产生的bug。**U•ェ•*U** 包装类:8种基本类型的包装类 应用场景:数据库建立实体映射多用包装类 这两句话是重点:就是建立实体类禁止使用基本数据量类型!!!而用对应的包装类, 为什么呢,看以下场景。 阅读全文
posted @ 2020-02-04 09:59 幽暗森林之猪大屁 阅读(780) 评论(0) 推荐(0) 编辑
摘要:云服务器因为其稳定性高、使用空间大等特点越来越受到个人站长和中小企业的青睐,相比起一般的虚拟主机,云服务器对于管理员的技术要求较高,如果没有服务器控制面板,安装和使用起来将非常耗时耗力。搭配了服务器控制面板后,整个操作流程将相当顺畅便捷,即使是非技术人员也可以轻松管理维护整个云服务器。那么,主机控制 阅读全文
posted @ 2020-02-03 18:11 幽暗森林之猪大屁 阅读(233) 评论(0) 推荐(0) 编辑
摘要:Docker 安装 CentOS CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux(RHEL) 依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码,因此有些要 阅读全文
posted @ 2020-02-03 18:08 幽暗森林之猪大屁 阅读(186) 评论(0) 推荐(0) 编辑
摘要:创建型1)工厂方法Collection.iterator() 由具体的聚集类来确定使用哪一个Iterator2)单例模式Runtime.getRuntime()3)建造者模式StringBuilder4)原型模式Java中的Cloneable结构性1)适配器模式InputStreamReaderOu 阅读全文
posted @ 2020-02-03 18:05 幽暗森林之猪大屁 阅读(242) 评论(0) 推荐(1) 编辑
摘要:迭代器的应用场景:1、对集合进行增加删除,禁止使用foreach,循环的动态操作2、倒序遍历3、遍历循环步入正题:为何禁止在foreach内进行增删?先看一下代码: /** * 正例: * Iterator<String> iterator = list.iterator(); * while (i 阅读全文
posted @ 2020-02-03 17:52 幽暗森林之猪大屁 阅读(491) 评论(0) 推荐(0) 编辑
摘要:Java虚拟机在执行Java程序时,会把它管理的内存划分为若干个不同的数据区。这些区域有不同的特性,起不同的作用。它们有各自的创建时间,销毁时间。有的区域随着进程的启动而创建,随着进程结束而销毁,有的则始终贯穿虚拟机整个生命周期。 Java虚拟机运行时内存区域主要分为七部分,分别是:程序计数器,Ja 阅读全文
posted @ 2020-02-03 17:38 幽暗森林之猪大屁 阅读(225) 评论(0) 推荐(0) 编辑
摘要:内存中对象的创建、对象的结构以及访问方式。 一、对象的创建 在语言层面上,对象的创建只不过是一个new关键字而已,那么在虚拟机中又是一个怎样的过程呢? (一)判断类是否加载。虚拟机遇到一条new指令的时候,首先会检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号代表的类是否被 阅读全文
posted @ 2020-02-03 17:35 幽暗森林之猪大屁 阅读(298) 评论(0) 推荐(0) 编辑
摘要:本实验是为后续实验做准备的。在本书中,各个程序实例都要画类图,所以读者必须掌握用某种UML建模工具来画类图,本书选择 UMLet 作为 UML 的建模工具。实验目的本实验的主要目的如下。 理解类的基本概念,掌握如何从需求分析中抽象出类的方法。 理解类之间关系,掌握如何分析具体实例中的类之间的关系。 阅读全文
posted @ 2020-02-03 17:27 幽暗森林之猪大屁 阅读(677) 评论(0) 推荐(0) 编辑
摘要:创建型模式(Creational Pattern)的主要特点是将对象的创建与使用分离,根据对象的创建与组合方式的不同,创建型模式可分为单例(Singleton)模式、原型(Prototype)模式、工厂方法(Factory Method)模式、抽象工厂(Abstract Factory)模式和建造者 阅读全文
posted @ 2020-02-03 17:21 幽暗森林之猪大屁 阅读(520) 评论(0) 推荐(0) 编辑
摘要:流水号生成器(全局唯一 ID生成器)是服务化系统的基础设施,其在保障系统的正确运行和高可用方面发挥着重要作用。而关于流水号生成算法首屈一指的当属 Snowflake雪花算法,然而 Snowflake本身很难在现实项目中直接使用,因此实际应用时需要一种可落地的方案。 Snowflake仓库 https 阅读全文
posted @ 2020-02-03 17:14 幽暗森林之猪大屁 阅读(1921) 评论(0) 推荐(0) 编辑
摘要:前言 前段时间做了一个图床的小项目,安全框架使用的是Shiro。为了使用户7x24小时访问,决定把项目由单机升级为集群部署架构。但是安全框架shiro只有单机存储的SessionDao,尽管Shrio有基于Ehcache-rmi的组播/广播实现,然而集群的分布往往是跨网段的,甚至是跨地域的,所以寻求 阅读全文
posted @ 2020-02-03 16:56 幽暗森林之猪大屁 阅读(554) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示