自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (9)
  • 收藏
  • 关注

转载 不可不说的Java“锁”事

转载自:https://blog.csdn.net/MeituanTech/article/details/84138163前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通...

2018-11-27 17:43:23 387

转载 深入理解CAS算法原理

转载自 深入理解CAS算法原理https://mp.weixin.qq.com/s?__biz=MzI3ODcxMzQzMw==&mid=2247483728&idx=1&sn=3d734dc972a244891406cfbc443eabed&chksm=eb538466dc240d7033b889665b579a490266b8c8f1e7a08da35f67...

2018-11-27 17:19:46 478

原创 Redis——NoSQL与缓存

使用NoSQL有了RedisTemplate之后,我们就可以开始保存获取以及删除键值对了。假设我们想通过RedisTemplate<String,Product>保存Product,其中key是num属性的值,如下代码展示了如何借助opsForValue()来完成该功能:redis.opsForValue().set(product.getNum(),product);//存储...

2018-11-22 13:18:38 772

原创 Redis——初识Redis

Redis简介Redis的数据结构致力于帮助用户解决问题,而不是像关系型数据库那样,要求用户扭曲问题来适应数据库。除此之外,通过复制、持久化和客户端分片(client-side sharding)等特性,用户可以很方便的将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis不使用表...

2018-11-22 11:16:16 461

转载 Java反射理解

假如你写了一段代码:Object o=new Object();运行了起来!首先JVM会启动,你的代码会编译成一个.class文件,然后被类加载器加载进jvm的内存中,你的类Object加载到方法区中,创建了Object类的class对象到堆中,注意这个不是new出来的对象,而是类的类型对象,每个类只有一个class对象,作为方法区类的数据结构的接口。jvm创建对象前,会先检查类是否加载,寻找类...

2018-11-21 17:52:00 379

原创 Dubbo——Dubbo属性(4)

启动时检查Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认check="true"。可以通过check="false" 关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。下面我们展示通过xml的配置,Properties和java配置不介绍。关闭某个服务的启动时检查:<...

2018-11-21 15:08:09 440

原创 Dubbo——Dubbo配置(3)

XML配置provider.xml 示例:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/sche

2018-11-21 13:22:56 433

原创 Kafka By the sea——Kafka消费者(从Kafka读取数据)

KafkaConsumer概念消费者和消费者群组假设我们有一个应用程序需要从一个Kafka 主题读取消息并验证这些消息,然后再把它们保存起来。应用程序需要创建一个消费者对象,订阅主题并开始接收消息,然后验证消息井保存结果。过了一阵子,生产者往主题写入消息的速度超过了应用程序验证数据的速度,这个时候该怎么办?如果只使用单个消费者处理消息,应用程序会远跟不上消息生成的速度。显然,此时很有必要对消...

2018-11-19 15:15:04 573

原创 Kafka By the sea——Kafka生产者(向Kafka写入数据)

在这一章,我们将从Kafra 生产者的设计和组件讲起,学习如何使用Kafka 生产者。我们将情示如何创建KafkaProducer 和ProducerRecords 对象、如何将记录发送给Kafka ,以及如何处理从Kafka 返回的错误,然后介绍用干控制生产者行为的重要配置选项,最后深入探讨如何使用不同的分区方棒和序列化器,以及如何自定义序列化器和分区器。生产者概览一个应用程序在很多情况下需...

2018-11-19 13:42:28 2781

原创 Kafka——安装Kafka

要事先行选择操作系统Kafka 是使用Java 开发的应用程序, 所以它可以运行在Windows 、MacOS 和Linux 等多种操作系统上。本章将着重介绍如何在Linux 上安装和使用Kafka ,因为把Kafka 安装在Linux 系统上是最为常见的。安装Java在学习zookeeper的时候已经安装。安装Zookeeper在昨天的文章里,我们已经安装。不过某些配置需要变化。我...

2018-11-16 17:25:12 478

原创 深入ZooKeeper——开始使用ZooKeeper的API

设置ZooKeeper的CLASSPATH我们需要设置正确的classpath,以便运行或编译ZooKeeper的Java代码。除了ZooKeeper的JAR包外,ZooKeeper使用了大量的第三方库。为了简化输入和方便阅读,我们使用环境变量CLASSPATH来表示所有必需的库。ZooKeeper发行包中bin目录下的zkEnv.sh脚本会为我们设置该环境变量。我们需要使用以下方式来编码:...

2018-11-16 11:22:29 700

原创 深入ZooKeeper——独立模式实践、仲裁模式解析

开始使用Zookeeper开始之前,需要下载zookeeper发行包。我通过重新配置网络,然后通过yum install wget获取wget命令,使用wget http://....zookeeper-3.4.10.tar.gz下载发行包,再用tar -xvzf zookeeper-3.4.10.tar.gz解压。由于我对linux忘记了大半,所以花了2小时。在发行包(distribut...

2018-11-15 17:36:54 1646

原创 深入ZooKeeper——ZooKeeper原语和架构

ZooKeeper基础设计一个用于协作需求的服务的方法往往是:提供原语列表,暴露出每个原语的实例化调用方法,并直接控制这些实例。这种设计存在一些重大的缺陷:首先,我们要么预先提出一份详尽的原语列表,要么提供API的扩展,以便引入新的原语;其次,以这种方式实现原语的服务使得应用丧失了灵活性。因此,在ZooKeeper中我们另辟蹊径。ZooKeeper并不直接暴露原语,取而代之,它暴露了由一小...

2018-11-14 17:21:49 1059

原创 深入ZooKeeper——ZooKeeper的概念和基础

由于Kafka和Duboo都需要在ZooKeeper的基础上运行,所以我们先学习ZooKeeper。ZooKeeper改变了什么ZooKeeper的设计更专注于任务协作,并不提供任何锁的接口或通用存储数据接口。同时,ZooKeeper没有给开发人员强加任何特殊的同步原语,使用起来非常灵活。整个ZooKeeper的服务器集群管理着应用协作的关键数据。ZooKeeper不适合用作海量数据存储。对...

2018-11-14 13:30:54 547

原创 Kafka By the sea——Kafka概述

数据为企业的发展提供动力。我们从数据中获取信息,对它们进行分析处理,然后生成更多的数据。每个应用程序都会产生数据, 包括日志消息、度量指标、用户活动记录、晌应消息等。发布与订阅消息系统先来了解发布与订阅消息系统的概念,。数据(消息)的发送者(发布者)不会直接把消息发送给接收者,这是发布与订阅消息系统的一个特点。发布者以某种方式对消息进行分类,接收者(订阅者)订阅它们,以便接收特定类型的消息。...

2018-11-14 10:31:00 755

原创 Zookeeper——zookeeper基础

在深入了解ZooKeeper的运作之前,让我们来看看ZooKeeper的基本概念。我们将在本章中讨论以下主题:Architecture(架构)Hierarchical namespace(层次命名空间)Session(会话)Watches(监视)ZooKeeper的架构它描述了ZooKeeper的“客户端-服务器架构”。Client(客户端) 客户端,我们的分布式应用集群中...

2018-11-13 15:57:22 803

原创 Zookeeper——zookeeper初识

Zookeeper 概述ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。分布式应用分布式应用可以在给定时间(同时)在网络中的多个系统上运行,通过协调它们以快速有效的方式完成特定任务。通常来说,对...

2018-11-13 15:34:09 419

原创 Dubbo——快速启动(2)

快速启动Dubbo 采用全 Spring 配置方式,透明化接入应用,对应用没有任何 API 侵入,只需用 Spring 加载 Dubbo 的配置即可,Dubbo 基于 Spring 的 Schema 扩展 进行加载。服务提供者定义服务接口:package com.alibaba.dubbo.demo;public interface DemoService { String sa...

2018-11-13 13:53:49 371

原创 Dubbo——Dubbo初识(1)

背景随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相...

2018-11-13 13:36:12 519 1

原创 SSM in Action——最终总结

SpringSpring的关键点在于IoC容器和AOP框架,以及简化的数据和事务的服务。IoC称为控制反转,以依赖注入的方式来实现:dont call me, we will call u。AOP是为了弥补oop专注于业务需求的缺陷,比如系统需求需要打印日志,oop的做法会使得单一职责的类承担一些不必要的功能。简化数据访问和事务管理:举个例子就是模版化代码的替代,mybatis中,我们只...

2018-11-09 16:04:13 536

原创 AJAX——ajax使用

我们想要实现在textarea里输入的时候,后台检查这个输入并且返回给前端。那么textarea是这样写的: <form> <textarea id="codeTextarea" rows="20" cols="55" spellcheck="false" onkey...

2018-11-08 10:53:03 366

原创 AJAX——ajax初识

什么是ajaxAJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。AJAX 应用运用...

2018-11-07 17:35:01 457

原创 Log4j in Action——日志记录

log4j日志记录到文件要写日志信息到一个文件中,必须使用org.apache.log4j.FileAppender。有以下FileAppender的配置参数:# Define the root logger with appender filelog = src/main/java/com/leesanghyuk/tstlog4j.rootLogger = DEBUG, FILE#...

2018-11-06 14:24:32 426

原创 Log4j in Action——日志格式

log4j日志格式化Apache log4j 提供了各种布局对象,每一个对象都可以根据各种布局格式记录数据。另外,也可以创建一个布局对象格式化测井数据中的特定应用的方法。所有的布局对象 - Appender对象收到 LoggingEvent 对象。布局对象检索来自LoggingEvent 的消息参数,并应用适当的 ObjectRenderer 获得消息的字符串表示。布局方法:log4j ...

2018-11-06 14:15:07 568

原创 Log4j in Action——Logger

使用Log4j下面我们写一个简单的java程序,我们的properties如下配置:# Define the root logger with appender filelog = src/main/java/com/leesanghyuk/tstlog4j.rootLogger = DEBUG, FILE# Define the file appenderlog4j.appende...

2018-11-06 14:05:42 400

原创 Log4j in Action——Log4J初识

学习到这里,我发现一个漏洞,那就是SpringMvc的控制层、服务层、持久化层之间的联系和实际操作的不熟悉。所以,我们再次看Spring Mvc。但在下载Spring Mvc之间,空闲时间先看看Log4j。Log4j简介log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布。Log4j已经被移植到了C,C++,C#,Perl,Python和Ru...

2018-11-06 13:24:05 400

原创 MyBatis in Action——MyBatis注解

Annotation注解常用的Annotation注解MyBatis的注解位于org.apache.ibatis.annotations包下,常用的注解如下:Select:映射查询的SQL语句SelectProvider:Select语句的动态SQL映射。其他Insert/Delete/Update及其Provider省略。Result:在列和属性之间的单独结果映射。包括id/col...

2018-11-05 15:15:39 517

原创 MyBatis in Action——MyBatis事务管理和缓存机制

MyBatis的事务管理众所周知,事务的四个特性ACID。持久性、原子性、隔离性以及一致性。Transaction接口mybatis的事务设计重点就是Transaction接口,它有两个实现类,分别是JdbcTransaction和ManagedTransaction。同时MyBatis还设计了TransactionFactory接口,和工厂类的实现类JdbcTransactionFacto...

2018-11-05 15:05:26 483

原创 MyBatis in Action——关联映射和动态SQL(2)

关联映射多对多

2018-11-05 14:07:48 444

原创 MyBatis in Action——关联映射和动态SQL(1)

关联映射在上一章的最后,我们留了一个注意,这是上一章没有解决的。为什么会有这种情况呢?因为,如果得到某个班级的实例,那么也应该可以访问该班级对应的全部学生,如果得到单一学生,能访问他的班级。这种实例之间的相互访问,就是关联关系。我们把关联关系分为如下几类:一对一 1…1一对多 1…*多对多 *…*一对一一对一的关系,如一个人有一张身份证,一张身份证对应一个人。由于是一对一关联,需...

2018-11-02 15:45:48 410

原创 MyBatis in Action——MyBatis剖析

MyBatis的体系结构SqlSessionFactorySqlSessionFactory是MyBatis的关键对象,它是单个数据库映射关系经过编译后的内存镜像。它是创建SqlSession的工厂类。SqlSessionSqlSession是MyBatis的关键对象,是执行持久化操作的对象,类似于JDBC中的Connection。它是应用程序与持久存储层之间执行交互操作的一个单线程对象...

2018-11-02 13:47:12 440

原创 MyBatis in Action——ORM与MyBatis

目前流行的编程语言,例如Java、C#等,都是面向对象的;目前主流的数据库产品,例如Oracle、Mysql,依然是关系数据库。编程语言和底层数据库发展不协调,催生出了ORM框架,ORM框架可作为面向对象编程语言和关系型数据库之间的桥梁。确切的说MyBatis并不完全是一种ORM框架,它的设计思想和ORM相似,只是它允许开发人员直接编写SQL语句,使数据库访问更灵活。ORM(对象/关系数据库映...

2018-11-01 15:46:02 702

原创 SSM in Action——重温标签库

表单标签库要使用表单标签库,加入如下的tablib:<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>form标签form标签主要有两个作用:自动绑定Model中一个属性值到当前form对应的实体对象,默认为commond属性。支持我们在提交表单时使用除了GET和POST之...

2018-11-01 11:16:45 446

原创 SSM in Action——重温注释

再临注解@RequestMappingvalue属性是默认属性,因此如果只有唯一属性,则可以省略属性名。method如果不写,则能处理所有方式的请求。consumes属性用来指定请求的提交内容类型,如@RequestMapping(value="/hello",method=RequestMethod.Post,consumes="application/json")上句表示方法仅...

2018-11-01 10:58:03 401

软件工程需求分析作业模版.doc

软件工程需求分析作业模版,北邮大作业。

2020-06-24

滑动窗口协议--SDL最终版

北邮滑动窗口协议实验设计。滑动窗口协议--SDL设计;北邮滑动窗口协议实验设计。

2018-06-03

北邮韩万江老师SPM课的pdf

spm,软件过程改进,韩万江

2018-05-17

北邮:编译原理实验1

北邮;编译原理第一次实验;lex.yy 生成代码 北邮;编译原理第一次实验;lex.yy 生成代码

2018-05-14

北邮:分布式实验一

北邮:分布式实验一 北邮;分布式; 北邮;分布式; 北邮;分布式;

2018-05-14

北邮:软件工程作业——体系结构设计文档

体系结构设计文档;北邮:软件工程作业——体系结构设计文档

2018-05-14

北邮作业——软件工程:需求文档

北京邮电大学,软院大二作业;北京邮电大学,软院大二作业

2018-05-14

滑动窗口协议--SDL设计

滑动窗口协议--SDL设计;北邮滑动窗口协议实验设计。滑动窗口协议--SDL设计;北邮滑动窗口协议实验设计。

2017-11-09

空空如也

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

TA关注的人

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