- 博客(15)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 AtomicInteger 类的理解与使用
AtomicInteger 类的理解与使用首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下:public class Sample1 { private static Integer count = 0; synchronized public static void increment() { count++;
2017-08-23 00:02:26 220
转载 java condition 使用及分析
背景:上一篇文章基于object的wait、notify实现了生产者、消费者模式。本篇文章继续梳理Condition。condition 介绍及 demo Condition 是在Java 1.5 中才出现的,它用来替代传统的 Object 的 wait()、notify()实现线程间的协作,相比使用 Object 的 wait()、notify(),使用 Conditi
2017-08-20 18:03:39 247
转载 Java 中的锁 -Lock 接口解析
提到Java中的锁,相信大家都知道它是用来控制多个线程访问共享资源的方式(即锁能防止多个线程同时访问空享资源而出现线程安全问题)。在实践过程中使用最多的也最常见的锁就是 synchronized 在 jdk1.5 之前也仅仅有这一种锁而已。在 jdk1.5 之后,并发包中新增了 Lock 接口(以及相关实现类)用来实现锁功能,Lock 接口提供了与 synchronized 关键字类似的同步功
2017-08-20 18:02:43 235
原创 Java多线程死锁情况模拟
package com.itmayiedu;class DemoThread implements Runnable { private int count = 1000; private Object obj = new Object(); public boolean flag = true; @Override public void run() { // 锁(同步代码块
2017-08-15 15:09:36 207
原创 多线程之间实现同步
一、什么是线程安全?1.1 为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。做读操作是不会发生数据冲突问题。 案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。代码:/** * * @classDesc: 功能描述:(多线程之买火车票案例-展示线程不安全)
2017-08-14 22:34:58 93
原创 Java 多线程卖票例子
以卖票的例子来介绍多线程和资源共享。 卖票是包含一系列动作的过程,有各种操作,例如查询票、收钱、数钱、出票等,其中有一个操作是每次卖掉一张,就将总的票数减去1。有10张票,如果一个人卖票,先做查票、收钱、数钱等各种操作,再将总的票数减去1,效率很低。如果多个人卖票,每个人都是做同样的操作,数钱、检查钱,最后将总的票数减1,这样效率高。但是有一个问题,如果出现两个人同时将总的票数减掉了
2017-08-14 22:27:05 388
转载 线程安全与不安全
作为一个Java web开发人员,很少也不需要去处理线程,因为服务器已经帮我们处理好了。记得大一刚学Java的时候,老师带着我们做了一个局域网聊天室,用到了AWT、Socket、多线程、I/O,编写的客户端和服务器,当时做出来很兴奋,回学校给同学们演示,感觉自己好NB,呵呵,扯远了。上次在百度开发者大会上看到一个提示语,自己写的代码,6个月不看也是别人的代码,自己学的知识也同样如此,学完的知识如果
2017-08-08 13:50:28 188
原创 SpringCloud 之第二篇: 服务消费者(rest+ribbon)
在上一篇文章,讲了服务的注册和发现。在服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于 http restful 的。springcloud 有两种调用方式,一种是 ribbon+restTemplate,另一种是 feign。在这一篇文章首先讲解下基于 ribbon+rest。一、ribbon 简介Ribbon is a client side load
2017-08-07 15:42:23 217
原创 SpringCloud 之第一篇: 服务的注册与发现(Eureka)
一、spring cloud 简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明 spring cloud 是基于 springboot 的,所以需要开发中对 springboot 有一定的了解,如果不了解的话可以看这篇文
2017-08-07 15:18:30 240
转载 linux下安装tomcat以及开放端口8080
http://mirror.bit.edu.cn/web/查看原文,点这里实现了在Linux下安装JDK后,再在linux下安装tomcat服务器,为进一步的Java Web开发搭建环境。 首先,下载tomcat,登录Apache官网下载http://tomcat.apache.org/download-70.cgi 注意:下载linux下的合适的版本,这里我下了tomcat7
2017-08-06 15:28:02 921
转载 Springboot 之 自定义配置文件及读取配置文件
读取核心配置文件核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单。核心配置文件application.properties内容如下:server.port=9090test.msg=Hello World Springboot!123123使
2017-08-04 23:54:07 257
原创 SpringBoot手动事物工具类封装
/** * * @classDesc: 功能描述:(SpringBoot手动事物) * @author: 余胜军 * @createTime: 2017年8月4日 下午8:11:56 * @version: v1.0 * @copyright:上海每特教育科技有限公司 */@Componentpublic class TransactionService {
2017-08-04 20:36:26 832
原创 Spring 事物手动回滚
手动回滚:方法 1:在 service 层方法的 catch 语句中增加:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 语句,手动回滚,这样上层就无需去处理异常(现在项目的做法)方法 2:例如 service 层处理事务,那么 service 中的方法中不做异常捕获,或者在 catch
2017-08-04 20:14:19 225
原创 HTTP API 接口安全设计
HTTP API 接口安全设计API 接口调用方式HTTP + 请求签名机制HTTP + 参数签名机制HTTPS + 访问令牌机制有没有更好的方案?OAuth 授权机制OAuth2.0 服务的几种授权流程
2017-08-04 20:07:39 1734
转载 企业级 Web 网站安全解决方案揭秘
在 3 月 10 日举办的阿里云网站热点研讨会上,阿里云资深安全业务架构师蕴藉就网站 Web 应用的安全性及业务可用性进行了一系列细致的讲解和介绍,接下来我们就来共同了解一下他分享的内容。以下内容根据现场分享以及幻灯片整理而成Web 应用面临的主要安全问题:现如今,大多数的互联网业务都以 Web 的方式进行,相较以往以 PC 浏览器为主的访问形式,移动 App
2017-08-04 19:59:48 3187
Java初中级程序员面试宝典
2017-02-18
使用nginx同一个端口映射多个域名问题
2017-01-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人