自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 阻塞队列)详解

一. 前言  在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。二. 认识BlockingQueue  阻塞队列,顾名思义,首先它是一个队列,而一个...

2019-07-03 13:46:48 188

转载 日历组件

<!DOCTYPE html><html ng-app="app" lang="en"><head><meta charset="UTF-8"><title>基于 AngularJS 的日期和时间选择组件DEMO演示</title><link rel="stylesheet" type="text/css" ...

2019-03-28 08:33:23 905

转载 线程池详解

 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  在Java中可以通过线程池来达到这样...

2019-03-14 09:18:30 139

转载 多线程之同步代码块与锁

上篇的代码,存在一个问题,那就是多线程有可能操作到同一个资源块,解决这个问题的方式就是同步代码快或者加上锁。锁的作用就是让资源的占用总是被一个线程调用,而不会使多个线程发生抢占。那么如何解决线程安全问题呢,第一是同步代码快:package com.qf.duoxian;public class Ticket1 implements Runnable { public Ticket...

2018-10-03 22:00:46 257

转载 并发编程之线程池详解

常见的四种线程池和区别线程池能有效的处理多个线程的并发问题,避免大量的线程因为互相强占系统资源导致阻塞现象,能够有效的降低频繁创建和销毁线程对性能所带来的开销。真正线程池的实现是通过ThreadPoolExecutor,ThreadPoolExecutor通过配置不同的参数配置来创建线程池。下面简单的介绍一下各个线程池的区别和用处。(1)fixThreadPool  正规线程     ...

2018-10-02 21:15:13 183

原创 分布式面试之Solr以及redis的面试问题

redis之雪崩问题的解决:首先redis做缓存,应用场景一般如下:Redis做缓存是最常见的应用场景。客户端请求在缓存层命中就直接返回,如果miss就去读取存储层,存储层读取到就写入缓存层,然后再返回到客户端。 优点: 加速读写 降低后端负载 缺点: 数据的不一致性 代码维护成本 运维成本缓存穿透化:然而缓存可能会遇到这种问题:请求cache拿不到数据,就会去存...

2018-09-30 10:44:05 17576

原创 Java之基础的关键词解析

面向对象语言的特征包括:封装,继承,多态。面向对象五个基本原则:单一原则:又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。开发封闭原则:扩展是开放的,对于更改是封闭的。从java主系统架构来说!里式替换原则:一个软件实体如果使用的是基类的话, 那么也一定适用于其子类, 而且它根本觉察不错使用的是基类对象还是子类对象; 反过来的代换这...

2018-09-22 23:10:32 153

转载 Redis的持久化也就是RDB与AOF

Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。打开 redis.conf 文件,找到 SNAPSHOT...

2018-09-06 13:07:58 137

原创 浅谈反向代理与负载均衡

     正向代理指的是人们通过PC端发出请求,之后地理服务器会按照地址去找相对应的服务器,直接对相应地址进行访问。特点是PC端直接发送请求并且指定目标,代理会直接按照发过来的请求去找原始服务器并将返回的信息传到页面。PC端才能使用正向代理。正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性(由mod_cache提供)减少网络使用率。使用Pro...

2018-09-05 21:03:45 320

原创 各种框架的工作原理(Spring+Struts2+Hibernate+SpringMvc+Mybatist)

Spring工作原理:Spring Framework 的核心组件有三个: Spring Core,Spring Context 和 Spring Beans,它们奠定了 Spring 的基础并撑起了 Spring 的框架结构。Spring 的其它功能特性例如 Web、AOP、JDBC 等都是在其基础上发展实现的。I. Bean 组件Spring 使用工厂模式来管理程序中使用的对象(Bean)...

2018-08-22 11:40:01 273

转载 并发编程之并发包详解

 并发是一种能并行运行多个程序或并行运行一个程序中多个部分的能力。如果程序中一个耗时的任务能以异步或并行的方式运行,那么整个程序的吞吐量和可交互性将大大改善。现代的PC都有多个CPU或一个CPU中有多个核,是否能合理运用多核的能力将成为一个大规模应用程序的关键。  Java基础部分知识总结点击Java并发基础总结。Java多线程相关类的实现都在Java的并发包concurrent,concur...

2018-08-20 16:51:50 1275

原创 并发编程之ArrayBlockingQueue

ArrayBlockingQueue是一个用数组实现的有界阻塞队列,此队列按照先进先出(FIFO)的原则对元素进行排序。ArrayBlockingQueue默认情况下不保证线程公平地访问队列,即阻塞的线程,不一定按阻塞的先后顺序访问队列,非公平性也是为了提高吞吐率。ArrayBlockingQueue源码详解ArrayBlockingQueue类定义为:public class ...

2018-08-20 13:18:02 149

原创 并发编程之队列详解

LinkedBlockingDeque是一个由链表结构组成的双向阻塞队列,即可以从队列的两端插入和移除元素。双向队列因为多了一个操作队列的入口,在多线程同时入队时,也就减少了一半的竞争。相比于其他阻塞队列,LinkedBlockingDeque多了addFirst、addLast、peekFirst、peekLast等方法,以first结尾的方法,表示插入、获取获移除双端队列的第一个元素。以l...

2018-08-20 12:32:03 227

原创 线程池的基础概念及应用

线程池的优点1、线程是稀缺资源,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以重复使用。2、可以根据系统的承受能力,调整线程池中工作线程的数量,防止因为消耗过多内存导致服务器崩溃。public ThreadPoolExecutor(int corePoolSize,2 int maximumPoolSize,...

2018-08-20 12:10:23 449

原创 MyBatis中关于session以及cache的管理

Mybatis中缓存分为一级缓存与二级缓存:一级缓存指的只是缓存级别的一个命名,主要就是每个sqlsession里都有一个HashMap来存储数据,当然不同对象每个缓存区域也不一样,所以一级缓存是不相互影响的。二级缓存是mapper级别的的,也就是每个sqlsession都可以访问同一个mapper,这里不是说二级缓存只有一个,也是每个mapper中有一个,就比如UserMapper,Te...

2018-08-20 10:48:57 3304

原创 Spring里面的设计模式

第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。如下配置,就是在 Hel...

2018-08-20 10:17:20 142

转载 SpringMVC原理概述

这是SpringMVC处理请求的流程:Spring Web 模型-视图-控制(MVC)框架是围绕 DispatcherServlet 设计的,DispatcherServlet 用来处理所有的 HTTP 请求和响应。Spring Web MVC DispatcherServlet 的请求处理的工作流程如下图所示:MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活、松散耦合的...

2018-08-19 13:29:58 361

转载 SSH系列之Struts2余下部分

首先说一下Struts2文件上传的问题,在s中,文件上传,文件上传时,它通常会存储在临时目录中,然后Action类应对其进行处理或移动到固定目录中,以确保数据不会丢失。注意:服务器可能有适当的安全策略,禁止你写入临时目录以外的目录以及属于Web应用程序的目录。通过一个名为FileUpload的预定义拦截器可以在Struts中上传文件,该拦截器可通过org.apache.struts2.inter...

2018-08-18 15:16:04 115

转载 SSH系列一之Struts2

Struts2隶属于Apache组织的,我们知道这个组织很多工具,很多分支都对Java程序开发工程师有巨大意义,这个是对于MVC开发模式的自定义的一个框架。所谓的MVC模式,指的是模型(Model)-视图(View)-控制器(Controller),通常简称MVC,是一种开发web应用程序的软件设计模式。该软件设计模式由以下三部分组成:  模型——属于软件设计模式的底层基础,主要负责数据维...

2018-08-18 14:10:08 312

原创 Web面试与笔试总结

1.请写出form表单标签及其相关常用属性。  用于为用户输入创建 HTML 表单      &lt;form action=“提交到服务器的url” method=“post/get” &gt;  用户名:&lt;input type=“text”  name=“参数名”/&gt;&lt;/br&gt;  密码:&lt;input type=“password” name=“参数...

2018-08-11 09:57:41 182

原创 总结Html常用标签

一、html简介1、html是什么        html是用来描述网页的一种语言HTML指的是超文本标记语言(Hyper  Text   Markup  Language)    HTML不是一种编程语言,而是一种标记语言 ,标记语言是一 套标记标签(markup tag) HTML使用标记标签来描述网页超文本  标记  语言    语言:     人与计算机交互的工具...

2018-08-10 23:42:47 148

原创 生产者与消费者分析

众所周知大型网站都是并发支持,用到最多的也是生产者与消费者模式。生产消费者模型    生产者消费者模型具体来讲,就是在一个系统中,存在生产者和消费者两种角色,他们通过内存缓冲区进行通信,生产者生产消费者需要的资料,消费者把资料做成产品。,譬如注册用户这种服务,它可能解耦成好几种独立的服务(账号验证,邮箱验证码,手机短信码等)。它们作为消费者,等待用户输入数据,在前台数据提交之后会经过...

2018-08-04 10:06:53 2122

原创 南京Java面试题整理

1.MySql索引与锁的解释以及底层实现原理索引指的是给数据加上便于数据检索的字段,以便利与查找。好处就是加快查找数据,但是对数据的更改以及删除更慢了。就像Java中的数组或者lArrayist集合也属于查找快,但是增删改就慢了的有点。LinkedList的优点是,增删快,查找慢。因为他的底层是链的结构。链是一个接一个的,所以在查找的过程中先要遍历,所以也就耗时间,,但是增删快这也是一个有...

2018-08-02 21:48:36 1189

转载 Quartz的一般配置方法

典型的一个调度框架,给他一个条件,到了这个条件,他就自己按照条件去执行了,以满足达到木写工作的需求。Quartz有三要素;Scheduler:调度器。所有的调度都是由它控制。 Trigger: 定义触发的条件。例子中,它的类型是SimpleTrigger,每隔1秒中执行一次(什么是SimpleTrigger下面会有详述)。 JobDetail &amp; Job: JobDetail ...

2018-08-02 19:34:06 2840

转载 Spring基础之IOC与AOP(3)

啥是AOP(面向切面)面向切面也就是实现代码业务逻辑的解耦,所谓解耦。就是两个模块之间的业务逻辑是无关联的,分开的。面向切面编程也是一种模块化机制:核心思想是从关注点中分离出横切关注点。(这样关注的问题从代码的业务逻辑独立出来,解耦)。面向切面关注以下几点:1、横切关注点对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点2、切面(aspect)类是对物体形象...

2018-08-01 19:32:26 117

原创 Spring基础之IOC和AOP系列(2)

啥是IOC?所谓的IOC也就是控制反转,也就是Bean的创建权利交给了Spring中IOC容器。本来我们在创建对象的过程中是直接去new一个对象来创建一个Bean,也可以这样理解,而现在把这个new的权利交给了Spring的IOC容器,这个也就是所谓的控制反转。既然IOC容器可以创建,但是创建的Bean与·Bean之间的关系,IOC容器如何知道。这个就要求文件。那么依赖注入呢?DI(D...

2018-08-01 18:56:49 133

原创 Spring基础之IOC和AOP系列(1)

Bean的装配方式:隐式的bean发现机制和自动装配。 在Java中进行显式配置。.在XML中进行显式配置。一:spring会自动发现xml中装配的bean;组件扫描(componentscanning):Spring会自动发现应用上下文中所创建的bean。自动装配(autowiring):Spring自动满足bean之间的依赖。@ComponentScan和@Comp...

2018-08-01 17:42:33 104

转载 有关MyBatis的映射.XML文件的详细说明

(1)typeAliases:对po类进行别名的定义(2)全局配置代码:&lt;!-- 自定义别名 --&gt; &lt;typeAliases&gt; &lt;!-- 单个别名定义 --&gt; &lt;!-- type:需要被取代的全限定类名 alias:别名 &lt;typeAlias type="com.san...

2018-07-25 10:43:09 186

原创 简说MyBatis的出现,使用以及来源

首先Mybatis能够实现普通SQL语句的查询,存储过程和高级映射的持久层框架。所谓持久层,指的是要直接跟数据库交互的这一层,简而言之就是Dao层(Data Access Objects)。对原始映射可以利用注解形式或者xml文件的配置来实现。简要说明下Mybatis和Hibernate的不同之处?mybatis提供一种“半自动化”的ORM实现。   这里的“半自动化”,是相对Hiber...

2018-07-24 15:27:32 495

原创 redis的基本操作与应用

首先redis主要是使用做缓存,例如,大型商城,京东或者其他网站,由于访问量增大,流量增大。会导致负载均衡问题,以及高并发问题的处理,必须对这个问题进行处理,高并发的问题的处理直接来讲,就是服务器与数据库的交互问题。而利用缓存可以解决一半的问题,也就是说降低数据库的压力,增大服务器的压力,啥原因么,因为你在用redis设计缓存的过程中其实也是在服务器进行的内存占用。接下来我们说说redis...

2018-07-22 16:48:01 131

原创 购物车提交订单后与购物车进行交互

在做项目的过程中,感觉到了支付测验的必要性,首先得获取订单的参数,例如订单编号,订单主的地址,手机号码,姓名。以下是支付代码:在于public String pay(HttpServletRequest requset, HttpServletResponse response) throws Exception { //接受传过来的参数 String addr...

2018-07-21 13:43:17 5145

原创 Java之通过反射来操作泛型

反射操作泛型(Generic)  Java采用泛型擦除机制来引入泛型。Java中的泛型仅仅是给编译器Javac使用的,确保数据的安全性和免去强制类型转换的麻烦。但是编译一旦完成,所有和泛型有关的类型全部被擦除。   为了通过反射操作这些类型以迎合实际开发的需要,Java新增了ParameterizedType,GenericArrayType,TypeVariable和WildcardType几种...

2018-06-07 14:41:43 477

转载 Java之多线程

写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢?如果你觉得此文很简单,那推荐你看看Java并发包的的线程池(Java并发编程与技术内幕:线程池深入理解),或者看这个专栏:Java并发编程与技术内幕。你将会对Java里头的高并发场景下的线程有更加深刻的理解。目录(?)[-]一扩展javalangThre...

2018-05-26 16:32:09 145

原创 Java排序之选择排序

选择排序,也是较常用的排序方法!多交流。public static void main(String[] args) {        int[] arr = { 23, 45, 12, 11, 67, 25, 36 };        /*         * for (int i = 0; i &lt; arr.length-1; i++) { for (int j = i+1; j &lt;...

2018-05-23 21:12:12 234

原创 Java排序系列

在学习Java的过程中,发现了很多问题,例如一些小的算法问题,笔试经常遇到我就自己写了一点!可以帮助大家理解!public class MaoPao {    /**     * @param args     */    public static void main(String[] args) {        int[] a = {2,244,23,45,12,89};        /*...

2018-05-21 21:32:52 95

日历组件,自定义的,用用看

去下载吧,很好的日历组组件,你试着用用看,哈哈哈!难道我说的不对吗,啊!啊哈哈

2019-03-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除