自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Summer_YuXia的博客

大道至简 知易行难

  • 博客(20)
  • 收藏
  • 关注

转载 使用Tomcat+腾讯云主机把你的项目发布到外网上

随便说说申请腾讯云主机下载jdkjre和Tomcat向webapps里面添加项目修改serverxml测试域名解析常见错误下面来说几个小工具ftp上传工具远程桌面操控随便说说:想必一些学习做网页的同学和我有同样的想法,把自己的项目发布到外网上,让别人也能看到。既然有了想法,那就不能想想而已,要努力去实现它。 在发布我们的Java web项目时,我们使

2017-05-30 00:10:34 1434

原创 QueryRunner的使用

public Admin_User login(Admin_User admin_User) {        QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource());        String sql ="select * from admin_user where userid=? and passwd

2017-05-27 01:53:40 1721

原创 动态代理两种方式及比较

这学期来一直在看面经,反而很少动手去写东西了,今天就破一次例动动贱手! AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行。不同的切入时机对应不同的Interceptor的种类,如BeforeAdviseInterceptor,AfterAdv

2017-05-24 01:11:33 4007

原创 JSP九大内置对象

虽然现在基本上使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的。像request、response、session这些对象,即便使用其他框架也是会经常用到的。因此十分有了解的必要。这些对象可以在JSP页面中调用,而不需要事先定义,这使得JSP编程更加的方便和快捷。其实这些内置对象都对应着某个Servlet类,在JSP被翻译成Ser

2017-05-22 20:25:58 300

转载 ConcurrentHashMap源码解析

概述ConcurrentHashMap 是将锁的范围细化来实现高效并发的。 基本策略是将数据结构分为一个一个 Segment(每一个都是一个并发可读的 hash table, 即分段锁)作为一个并发单元。 为了减少开销, 除了一处 Segment 是在构造器初始化的, 其他都延迟初始化(详见 ensureSegment)。 并使用 volatile 关键字来保证 Segment 延迟初始化

2017-05-19 18:35:09 307

原创 java内存模型

为什么需要 Java 内存模型为了让程序员忽略掉各种硬件和操作系统的内存访问差异, 也既无需关心不同架构上内存模型的差异, Java 在代码和硬件内存模型间又提供了一个 Java 内存模型。一. 并发模型的分类在并发编程中,需要处理两个关键问题:线程之间如何通信(线程之间以何种机制来交换信息, 有两种方式:共享内存和消息传递)及线程之间如何同步。

2017-05-19 18:21:11 420

转载 从单例模式到Happens-Before

本文主要从简单的单例模式为切入点,分析单例模式可能存在的一些问题,以及如何借助Happens-Before分析、检验代码在多线程环境下的安全性。知识准备为了后面叙述方便,也为了读者理解文章的需要,先在这里解释一下牵涉到的知识点以及相关概念。线程内表现为串行的语义Within Thread As-If-Serial Semantics定义

2017-05-12 15:41:14 413

原创 进程间通信与线程间通信

序今天被问及进程间通信的问题,发现自己了解的并不够,所以,对此好好总结一番~操作系统的主要任务是管理计算机的软件、硬件资源。现代操作系统的主要特点是多用户和多任务,也就是程序的并行执行,windows如此linux也是如此。所以操作系统就借助于进程来管理计算机的软、硬件资源,支持多任务的并行执行。要并行执行就需要多进程、多线程。因此多进程和多线程间为了完成一定的任务,就需要进行一定的通信。

2017-05-12 10:00:18 423

原创 JVM性能调优

一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm)  其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。

2017-05-09 18:40:12 318

原创 Java内存模型

1. 概述  多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性

2017-05-09 17:51:09 258

原创 Java线程】Java内存模型总结

Java的并发采用的是共享内存模型(而非消息传递模型),线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现同步是显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行。1、多线程通信1.1 内存模型Java线程之间的通信由Java内存模型(JMM

2017-05-09 17:47:18 331

原创 队列同步器(AQS)详解

队列同步器(AQS)队列同步器AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作,并发包的作者(Doug Lea)期望它能够成为实现大部分同步需求的基础。队列同步器的基本结构同步器依赖内部的同步队列(

2017-05-09 13:46:25 1068

翻译 Java 并发工具包 java.util.concurrent 用户指南

译序本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新:http://tutorials.jenkov.com/java-util-concurrent/index.html。本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurrent用户指南中英文对照阅读版.pdf[带书签] 进行下载。

2017-05-05 13:24:34 394

原创 java笔记--关于线程同步(7种同步方式)

关于线程同步(7种方式)为何要使用同步?     java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),     将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,     从而保证了该变量的唯一性和准确性。 1.同步方法     即有synchronized关键字修饰的

2017-05-05 12:53:37 304

原创 Java学习笔记---多线程同步的五种方法

一、引言前几天面试,被大师虐残了,好多基础知识必须得重新拿起来啊。闲话不多说,进入正题。二、为什么要线程同步因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和存钱线程同时发生,

2017-05-05 12:52:36 280

原创 乐观锁与悲观锁——解决并发问题

为什么需要锁(并发控制)?  在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户

2017-05-05 09:52:03 363

原创 大神博客

博客地址:http://www.cnblogs.com/fingerboy/

2017-05-03 23:20:16 326

原创 JAVA多线程(二)竞态条件、死锁及同步机制

4 多线程的安全问题及解决方案这一篇博客中,我会列出Java多线程编程过程中,容易出现的安全问题(竞态条件、死锁等),以及相应的解决方案,例如同步机制等。究竟什么是线程安全?简单的说,如果你的代码在多线程下执行和在单线程下执行永远都能获得一样的结果,那么你的代码就是线程安全的。4.1 竞态条件(racing condition)与多线程同步机制4.1.1 竞态条件的

2017-05-03 18:16:21 836

转载 JAVA集合框架中的常用集合及其特点、适用场景、实现原理简介

JDK提供了大量优秀的集合实现供开发者使用,合格的程序员必须要能够通过功能场景和性能需求选用最合适的集合,这就要求开发者必须熟悉Java的常用集合类。本文将就Java Collections Framework中常用的集合及其特点、适用场景、实现原理进行介绍,供学习者参考。当然,要真正深入理解Java的集合实现,还是要推荐去阅读JDK的源码。Java提供的众多集合类由两大接口衍生而来:Co

2017-05-02 10:04:47 1824

原创 jdk1.8中ConcurrentHashMap的实现原理

并发环境下为什么使用ConcurrentHashMap1. HashMap在高并发的环境下,执行put操作会导致HashMap的Entry链表形成环形数据结构,从而导致Entry的next节点始终不为空,因此产生死循环获取Entry2. HashTable虽然是线程安全的,但是效率低下,当一个线程访问HashTable的同步方法时,其他线程如果也访问HashTable的同步方法,那

2017-05-01 23:23:24 1161

空空如也

空空如也

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

TA关注的人

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