自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

青山师

此博客输出内容永久免费,长期分享JAVA开发技术

  • 博客(429)
  • 资源 (29)
  • 收藏
  • 关注

原创 80个JAVA8函数式编程中关于集合的操作实例(持续更新增加实例)

reduce(Map.Entry identity, BinaryOperator accumulator, BinaryOperator combiner) - 根据给定的初始值和累加器将元素逐个结合,类似于reduce操作,只不过针对Map的键值对 示例:将字符串集合中的所有元素按照首字母分组,并统计每个分组中元素的个数。map - 将集合中的每个元素映射为另一个元素 示例:将数字集合中的每个元素平方并返回平方后的集合。

2023-04-13 21:49:54 1142

原创 微服务服务间调用组件Feign使用介绍、原理、优化技巧

Feign是一个声明式的Web Service客户端。它让微服务之间的调用变得更简单。Feign具有可插拔式的注解支持,包括Feign 注解和JAX-RS注解。Feign还支持可插拔的编码器和解码器。Spring Cloud增加了对Spring MVC注解的支持,并且也支持Spring WebFlux。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。Feign的基本概念、原理与使用。Feign采用声明式的接口,自动拼接URL、添加参数等工作,简化HTTP客户端的开发。

2023-05-20 15:51:28 1090

原创 微服务负载均衡器Ribbon介绍、使用以及原理和源码理解

Ribbon是Netflix开源的客户端负载均衡器,它可以很好的控制HTTP和TCP客户端的行为。Ribbon支持配置客户端添加重试和超时等功能,旨在使客户端更加强健。负载均衡故障检测暂时性错误重试客户端配置化等轮询(RoundRobinRule):轮流选择服务器随机(RandomRule):随机选择服务器重试(RetryRule):在一个配置时间内当选择服务器不成功,则一直尝试该服务器,超过配置时间才尝试其他服务器。

2023-05-17 23:23:16 1115

原创 微服务注册中心Eureka原理到源码

Eureka是Netflix开源的一款用于提供服务注册和发现的产品,它提供了完整的服务注册和发现功能,具有容错性,可伸缩性等特性。Eureka包含两个组件:Eureka Server和Eureka Client。Eureka Server提供服务注册服务。各个微服务启动时,会通过Eureka Client向Eureka Server注册自己的信息(例如服务名称、IP地址、端口等)。

2023-05-15 18:31:03 867

原创 JVM问题排查和垃圾回收机制

JVM的主要内存区有方法区、堆、栈、程序计数器等,堆和方法区是所有线程共享的,其中堆主要用于存储对象实例,是一个显著的可回收内存来源。垃圾回收器的主要工作就是规律的遍历堆区,释放那些不再被使用的对象所占用的内存,使其成为可用内存。其中,[标记-清除]算法会产生内存碎片较严重,而[标记-复制]算法需要双倍的内存空间,所以目前主流的商业虚拟机一般采用[标记-整理]算法。Java垃圾回收主要是利用垃圾回收器对堆内存进行回收,回收那些不再被使用的对象所占用的内存,以实现内存的再利用。

2023-05-12 19:44:15 833

原创 线程池的介绍、原理、监控运维、框架使用场景案例

JDK 提供的线程池功能较基础,开源框架 Executors 在此基础上做了许多封装,更加易用。主要有:- newCachedThreadPool:创建一个可缓存的线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。- newFixedThreadPool: 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。- newScheduledThreadPool: 创建一个定长线程池,支持定时及周期性任务执行。- newSingleThreadExecuto

2023-05-03 20:19:47 1104

原创 synchronized的偏向、轻量、重量级锁

Synchronized实现同步的方式有三种:偏向锁、轻量级锁、重量级锁。本文会从理论和代码实践两方面阐述三种锁的实现细节和原理。

2023-05-02 22:47:16 913 1

原创 JAVA并发万字长文从ReentrantLock到juc框架

ReentrantLock 是通过一个volatile 的变量和一个 FIFO 的队列来实现的。该 volatile 变量表示当前获得锁的线程,FIFO 队列用来存储等待锁的线程。具体实现方式是:当一个线程获取锁时,将当前线程设置为 volatile 变量的值。如果其他线程试图获取该锁,则会加入 FIFO 队列的尾部,并标记为等待状态。当持有锁的线程释放锁时,它会唤醒 FIFO 队列头部的线程,这个线程继续执行并获取锁。ReentrantLock 是可重入锁,意味着同一个线程可以多次获取这把锁。这是

2023-05-02 20:53:28 983

原创 volatile关键字原理的使用介绍和底层原理解析和使用实例

volatile 关键字的主要作用是保证可见性和有序性,禁止编译器优化。保证可见性:当一个变量被声明为 volatile 之后,每次读取这个变量的值都会从主内存中读取,而不是从缓存中读取,这就保证了不同线程对这个变量操作的可见性。有序性:volatile 关键字保证了不同线程对一个 volatile 变量的读写操作的有序性。禁止编译器优化:编译器会对代码进行各种优化来提高性能,但是这些优化也可能让同步代码失效。volatile 关键字告诉编译器不要对这段代码做优化,从而避免一些不正确的优化。

2023-05-02 17:11:46 1400

原创 ThreadLocal的使用介绍和底层原理解析和开源框架的使用实例

ThreadLocal是一个线程内部的数据存储类,它可以为每个线程提供独立的变量副本,不同线程间的变量无法相互访问和修改。这避免了每个线程都要维护一套独立变量的麻烦,并且也减少了线程之间不必要的数据争用。ThreadLocal适用于这样的场景:每个线程需要有自己单独的实例,而不是共享实例。例如,在 web 应用中,每个请求被一个新的线程处理,每个线程需要有自己的变量实例。

2023-05-02 15:07:43 1782

原创 ConcurrentHashMap的使用介绍和底层原理解析和开源框架的使用实例

ConcurrentHashMap是JDK1.5提供的线程安全的HashMap,它允许多个线程并发访问哈希表,并发修改map中的数据而不会产生死锁。ConcurrentHashMap适用于高并发的环境下,可以替代synchronized实现的同步HashMap。ConcurrentHashMap的并发度很高,吞吐量也很高。ConcurrentHashMap通过锁分段技术,实现高度的并发访问,大大提高了HashMap的吞吐量,是高并发环境下一个很好的选择。

2023-05-01 23:01:50 1197

原创 【面试长文】HashMap的数据结构和底层原理以及在JDK1.6、1.7和JDK8中的演变差异

JDK1.8引入了红黑树,降低了链表过长的可能性,提高了效率。JDK1.8使用synchronized+CAS控制并发扩容,避免锁定整个table,提高了并发度。JDK1.8对null key做了优化,null键值对存储在table[0]位置。三个版本的HashMap都采用链表散列结构,通过key的hashCode映射到table,如果hash冲突就采用链表存储。扩容的阈值loadFactor在三个版本都是0.75,阈值size和table大小的乘积超过loadFactor时触发扩容。

2023-04-30 13:51:09 1144

原创 CopyOnWriteArrayList 的底层原理与多线程注意事项

CopyOnWriteArrayList 是 Java 集合框架中非常实用的线程安全 List 集合,通过读写分离的思想,保证了在高并发读多写少的情况下的数据安全和性能。但是,由于每次写操作需要复制整个数组,所以对内存的消耗较大,同时在迭代过程中也可能会存在一些数据不一致的问题。因此,在使用 CopyOnWriteArrayList 时,需要根据实际业务需求选择合适的集合类型,避免出现不必要的问题。

2023-04-30 11:46:23 2067 1

原创 Java集合框架与ArrayList、LinkedList的区别

在集合框架中,ArrayList和LinkedList是两个最基本的数据结构。LinkedList是一个双向链表,表示一个有序的集合,可以包含重复的元素。ArrayList是一个动态数组,表示一个有序的集合,可以包含重复的元素。Java集合框架是Java平台的一部分,它包含了一组接口、实现类和算法,可以用于存储和处理数据。下面给出一个使用 ArrayList 和 LinkedList 的示例代码,包括元素的插入、删除和访问操作。Java集合框架提供了丰富的算法和数据结构,可以满足各种不同的需求。

2023-04-30 11:29:21 1948

原创 Java中的String、StringBuffer和StringBuilder

String、StringBuffer 和 StringBuilder 都是处理字符串的类型,但是它们之间有很大的不同。String 是不可变的,而 StringBuffer 和 StringBuilder 是可变的。StringBuffer 和 StringBuilder 类似,但是 StringBuffer 是线程安全的,而 StringBuilder 不是。如果你需要对字符串进行频繁的修改操作,并且在多线程环境中使用,那么就应该使用 StringBuffer;

2023-04-30 11:16:45 1103

原创 消息队列如何保证消息可靠性传输

在本文中,我们主要介绍了持久化存储、消息确认机制、重试机制和幂等性处理等机制,以及使用 JAVA 语言和 Apache Kafka、RabbitMQ 进行代码实践的示例。通过上述机制的支持和实践,可以保证消息队列系统的可靠性和稳定性,为各大互联网公司提供高效、稳定的消息传输服务。

2023-04-30 11:07:56 2916

原创 RocketMQ 底层实现原理

在 RocketMQ 中,消息的发送过程可以分为三个步骤:1. 生产者发送消息到 Broker;2. Broker 将消息存储到磁盘,并将消息持久化到 CommitLog 和 IndexFile 中;3. 消费者从 Broker 拉取消息并进行消费。

2023-04-30 10:59:16 2415

原创 kafka的push、pull分别有什么优缺点

在 Kafka 中,生产者使用 push 模式将消息推送给 Kafka 集群,而消费者则使用 pull 模式从 Kafka 集群中拉取消息。本文对 Kafka 的 push 和 pull 两种模式进行比较,分析其优缺点。Pull 模式是 Kafka 新增的方式,使用该模式时,消费者可以自主选择从哪个分区开始拉取消息,并可以自主控制拉取消息的速度。Kafka 中为消费者维护着一个 offset,表示消费者已经消费的消息序号,当消费者拉取消息时,Kafka 会返回该消费者还没有消费的消息。

2023-04-29 15:58:33 2974 1

原创 InnoDB如何实现事务、undo log、redo log、binlog

当一个事务开始后,会在内存中为其分配一块undo log,并在该事务执行修改数据表之前将相关数据先拷贝到undo log中。同时,InnoDB还利用了多版本并发控制(MVCC)来实现数据的隔离性。主从复制时,从库会读取主库的binlog事件来重放数据的更改,实现数据一致性。redo log是指数据库系统执行修改操作时所记录的日志,它的主要作用是确保当数据库崩溃时不会丢失数据更新操作。InnoDB是MySQL的默认存储引擎,它使用多版本并发控制(MVCC)和锁机制来实现事务。

2023-04-26 15:31:43 782

原创 B树、B+树的区别及MySQL为何选择B+树

B树和B+树都是一种多路搜索树,常用于数据库和文件系统中进行索引操作。在介绍B树和B+树的区别之前,先来了解一下它们的定义。

2023-04-26 14:44:37 999

转载 【转载】JAVA用户角色权限设计(功能权限)

**实现业务系统中的用户权限管理** B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。下面就让

2023-04-26 14:42:37 3275

原创 MySQL存储引擎InnoDB、MyISAM和MEMORY介绍详解和区别

MySQL是目前使用最广泛的关系型数据库,而存储引擎是MySQL中一个非常重要的概念。存储引擎决定了MySQL如何存储和处理数据,对于系统性能和功能的影响非常大。本文将对MySQL常见的几种存储引擎进行介绍和比较,帮助读者更好地选择适合自己应用场景的存储引擎。不同的存储引擎有不同的特点和适用场景,我们可以根据实际需求选择最合适的存储引擎。一般来说,应该优先考虑使用InnoDB存储引擎,因为它支持事务、行级锁定等高级功能,能够保证数据的一致性和可靠性。

2023-04-23 15:16:29 1116

原创 MySQL索引B+树、执行计划explain、索引覆盖最左匹配、慢查询问题

B+树以(m, M)-B+树的形式出现,其中m和M的含义与B树相同,但内部节点包含的关键字数目比B树更多,通常是M/2到M。B树是一种平衡多路查找树,相比于二叉查找树,它允许一个节点存在多个子节点,因此可以减少I/O操作的次数,提高数据的访问效率。B树中的每个节点都可能存储关键字,因此,除了叶子节点,B树的每个节点都可以作为查询结果返回。B树的非叶子节点存储关键字以及指向子节点的指针,而B+树中的非叶子节点只存储关键字和对应子节点的指针,即只存储索引信息,这样可以存储更多的索引信息。

2023-04-20 20:35:06 648

原创 MySQL执行计划详解

执行计划是MySQL查询优化器生成的一组指令,用于执行SQL语句。在执行SQL语句时,MySQL会对SQL进行解析、优化、执行三个步骤。在优化阶段,MySQL查询优化器会生成一个执行计划,该计划被称为查询计划或执行计划。执行计划告诉MySQL执行SQL语句的具体步骤,包括表的连接方式、扫描方式、过滤条件等。执行计划是指MySQL根据用户请求所生成的一份查询计划,它决定了MySQL在执行SQL语句时所采取的操作方式,包括表的连接方式、索引的选择、访问方法等,进而影响着查询语句的执行效率。

2023-04-19 23:25:05 2905

原创 Redis缓存MySQL数据库存储二者如何保证数据一致性

Redis缓存MySQL数据库存储二者如何保证数据一致性,既可以同步更新缓存,也可以异步更新缓存。同步更新缓存能够保证数据一致性,但会对写操作的性能产生影响;异步更新缓存则能够避免这个问题,但需要引入消息队列,并且也需要考虑缓存更新失败的情况。根据实际情况选择不同的方案即可。

2023-04-19 10:10:01 764

原创 Java缓存穿透、击穿、雪崩解决方案

针对缓存穿透、击穿和雪崩问题,我们可以采用布隆过滤器、分布式锁和多级缓存策略等技术手段来进行优化。在实际项目中,需要根据具体情况选择合适的解决方案,并进行适当的调整和配置,以达到最佳的性能和稳定性。

2023-04-18 21:03:11 804

原创 Redis主从复制、哨兵、集群原理部署介绍

Redis主从复制是保证Redis数据库高可用性和容错性的重要解决方案之一。Redis哨兵模式是保证Redis数据库高可用性和容错性的重要解决方案之一。Redis 是一款内存数据库,常用于缓存、消息队列等。随着业务的发展和数据的增长,单机 Redis 可能无法满足我们的需求,此时我们需要使用 Redis 集群模式。Redis 集群模式可以将多个 Redis 实例组成一个集群,提供更高的性能和可用性。我们将介绍 Redis 集群模式的核心原理,并通过代码实践演示如何搭建 Redis 集群。

2023-04-18 20:20:37 956

原创 CountDownLatch、CyclicBarrier、Semaphore 的原理以及实例总结

在Java多线程编程中,有三种常见的同步工具类:CountDownLatch、CyclicBarrier、Semaphore。这些工具类使得我们可以在多个线程之间进行协调,实现更高效的并发处理。本文将对它们的原理和实例进行分析总结。本文分析了CountDownLatch、CyclicBarrier、Semaphore三种常见的同步工具类的原理和实例。这些工具类可以帮助我们在多个线程之间进行协调,实现更高效的并发编程。

2023-04-14 11:56:50 751

原创 Redis分布式锁的实现方式及底层原理

在加锁方法中,我们首先生成了一个随机字符串nonce作为锁的值,并在每个Redis实例上进行原子性的set操作,返回成功加锁的实例数。如果获取到锁的实例数大于等于quorum(即多数节点),并且加锁操作完成的时间小于锁的过期时间expireTime,则表示加锁成功,否则认为加锁失败,触发重试机制。Redlock算法采用多个节点之间互斥的方式获取分布式锁,可以保证在大部分节点正常情况下分布式锁的可靠性,并允许在某些更繁忙或网络质量较差的节点上失败,从而确保分布式锁的稳定性。

2023-04-13 20:37:54 1134

原创 HashMap的关键性源代码进行解读

对于相同的键,hashCode()方法返回的哈希值是相同的,但是对于不同的键,哈希值不一定不同,因此在映射到数组下标位置时可能会出现冲突。下面我将结合HashMap的源码,深入讲解HashMap的实现细节和背后的实现原理。需要注意的是,扩容是一项比较耗费性能的操作,所以如果可以预测 HashMap 的元素数量,应该在创建 HashMap 时设置其初始容量,避免在后续使用过程中频繁扩容。先通过哈希函数计算键的哈希值,然后找到对应桶中的链表(或红黑树),再逐一遍历链表(或查找红黑树),直到找到对应的键值对。

2023-04-13 20:19:53 588

原创 SpringCloud微服务技术栈的配置中心SpringCloud Config

随着微服务架构的快速发展,现代化的应用架构越来越依赖于云原生架构、容器化和Kubernetes。在这种背景下,Spring Cloud已经成为了Java开发人员选择构建微服务的首选框架之一。本文将介绍如何使用Spring Cloud Config作为SpringBoot微服务体系结构的配置中心,让您轻松管理配置信息并独立部署。

2023-04-13 20:07:45 829

原创 Netty的高性能体现在哪些方面

相比传统的阻塞式IO模型,在多个客户端请求的情况下,非阻塞式IO模型可以减少线程数量,提高了应用程序的并发性能。综上所述,Netty通过采用非阻塞I/O、零拷贝、内存池以及合理的线程模型等技术手段来提高网络应用程序的性能和可伸缩性。在实际的开发工作中,我们可以根据具体的需求,选择合适的Netty组件和框架来构建高效稳定的网络应用程序。相比之下,Netty使用了零拷贝技术,即数据直接从操作系统内存缓冲区传输到网络协议栈或者应用程序中,完全避免了数据在内核态和用户态之间的拷贝。

2023-04-13 16:46:07 888

原创 Netty的线程模型

线程模型指的是Netty在处理网络I/O事件时使用的线程池模型。它包括两个方面:线程池类型和线程池大小。单线程池模型:所有的I/O操作都由一个线程来处理。多线程池模型:所有的I/O操作都由多个线程来处理,每个线程都有自己的事件循环。主从多线程池模型:一个线程池用于处理连接请求,另一个线程池用于处理I/O操作。这种模型可以减少连接请求处理对I/O操作的干扰,从而提高系统并发性能。线程池大小根据应用程序的负载情况进行调整。

2023-04-12 23:38:14 674

原创 从BIO到NIO、AIO和零拷贝

在BIO模型中,所有的I/O操作都是阻塞的,也就是说,当一个线程调用read()或write()时,该线程会被阻塞,直到有数据可读或写入成功。AIO(Asynchronous I/O)异步I/O模型是在NIO模型的基础上又做了一些改进,它将I/O操作的具体实现委托给内核,直接由内核进行读写操作,当数据读写完成后再回调到应用层,这样就不需要像BIO、NIO模型那样由用户线程进行数据读取和写入,从而减少了系统调用的次数,充分利用了系统的资源。零拷贝技术指避免CPU从应用缓冲区向内核缓冲区拷贝数据的一种技术。

2023-04-11 23:33:09 643

原创 分布式事务处理常用手段及生产实践

在分布式系统架构设计中,如何保证数据的一致性是一个非常重要的问题。实际生产需要根据具体业务场景来选择适合的分布式事务处理方法,以保证系统的可靠性和一致性。

2023-04-10 10:07:04 541

原创 从零开始,手把手教你实现基于 Websocket 的微服务

Websocket 协议是为了解决 HTTP 协议缺陷而产生的一种通信协议,它能够在客户端和服务器之间建立持久性的连接,并且允许双向通信。HTTP 协议的请求与响应模式,其实并不适合实时通信的场景。比如聊天室、在线游戏等应用,都需要实时地推送消息到客户端,而 HTTP 协议则需要进行频繁的请求和响应操作,这就会导致网络延迟和更多的带宽消耗。而 Websocket 则是允许服务器主动向客户端发送消息,而不需要客户端发起请求,从而提高了通信效率和实时性。

2023-04-09 19:36:58 1805

原创 SpringBoot常见的的面试点

SpringBoot是Spring框架的一个子项目,它可以让开发者更快速、更容易地创建基于Spring的应用程序。SpringBoot通过提供默认的配置和自动化配置来简化Spring应用程序的开发过程,并提供了一系列插件和工具来简化构建、测试和部署Spring应用程序的流程。相对于传统的Spring框架,SpringBoot更加轻量级,启动更快,编写更少的代码就能实现同样的功能。

2023-04-09 19:01:08 427

原创 SpringCloud微服务技术栈之网关服务Gateway

在微服务架构中,微服务数量的增加会使得系统中出现大量的服务实例,同时每个服务往往又有多个版本,这些版本需要进行升级、降级等操作。因此,对于这些微服务的调用和路由管理就变成了一个巨大的挑战。Spring Cloud网关服务Gateway可以作为微服务架构中的一个基础设施,通过将API网关方式暴露给服务客户端,从而控制所有的请求流量,并支持许多传输协议,例如HTTP、WebSocket等。

2023-04-09 17:16:37 1066

原创 服务雪崩、服务限流、服务熔断和服务降级

在分布式系统中,由于网络延迟、节点宕机等各种原因,会出现一些异常情况,如某个服务的响应时间变慢或者宕机。这时候如果不采取措施,可能导致整个系统的性能下降或者不可用。本文主要介绍如何使用服务雪崩、服务限流、服务熔断和服务降级等技术手段来解决这些异常情况。

2023-04-07 23:53:09 261

原创 SpringCloud微服务技术栈的注册中心Eureka

在微服务架构中,服务的数量庞大,而且每个服务可能会有多个实例。此时,需要一个中心化的地方来管理和维护各个服务的相关信息,这就是微服务治理中很重要的一环:服务注册与发现。其中,服务注册是指将提供服务的应用实例注册到注册中心,而服务发现则是指从注册中心中获取服务实例列表并调用服务。本文将介绍SpringCloud微服务技术栈中的注册中心Eureka。本文介绍了SpringCloud微服务技术栈的注册中心Eureka,并以实际操作的方式进行了详细的说明。

2023-04-07 19:30:22 706 1

JAVA面试八股文.pptx

· **MyBatis** · **分布式** · **IO** · **Redis** · **MySQL** · **MQ** · **基础** · **JVM** · **类加载** · **WEB** · **Spring** · **SpringBoot** · **网络**

2021-09-22

XPathTutorial.rar

解析XML的示例。Xpath解析XML。里面有大量的案例,使用者下载后打开index页面接口浏览对应的语言版本教程(比如中文版)。

2020-07-30

mysql读写锁演示案例

主要通过案例演示了mysql的读写锁问题;帮助理解读写锁的概念、特征。主要通过案例演示了mysql的读写锁问题;帮助理解读写锁的概念、特征。主要通过案例演示了mysql的读写锁问题;帮助理解读写锁的概念、特征。主要通过案例演示了mysql的读写锁问题;帮助理解读写锁的概念、特征。主要通过案例演示了mysql的读写锁问题;帮助理解读写锁的概念、特征。

2019-10-23

Zookeeper数据节点可视化查看工具

Zookeeper数据节点可视化查看工具; 下载解压后即可使用; 内有说明文本。 Zookeeper数据节点可视化查看工具; 下载解压后即可使用; 内有说明文本。 Zookeeper数据节点可视化查看工具; 下载解压后即可使用; 内有说明文本。

2018-11-29

自动生成mybatis映射文件工具

自动生成mybatis映射文件工具; 步骤: 1》打开generatorConfig.xml文件,配置自己的数据库连接参数 2》配置实体类、mapper映射文件、mapper接口 3》:回到根目录,按住Shif+鼠标右键(即在当前目录打开命令行),执行生成语句.txt文件中的内容

2018-09-14

计算机大学课程数据结构PPT

大学计算机教程数据结构清华大学严蔚敏版课程PPT 计算机重点课程

2018-06-27

支付宝账户体系架构支付宝账户体系、支付宝整体架构、资金流和信息流(业务流)的详细介绍

支付宝账户体系、支付宝整体架构、资金流和信息流(业务流)的详细介绍 支付宝账户体系、支付宝整体架构、资金流和信息流(业务流)的详细介绍 支付宝账户体系、支付宝整体架构、资金流和信息流(业务流)的详细介绍 支付宝账户体系、支付宝整体架构、资金流和信息流(业务流)的详细介绍 支付宝账户体系、支付宝整体架构、资金流和信息流(业务流)的详细介绍

2018-06-11

java8帮助文档中文版API

JDK8的帮助文档,就像jdk1.6的文档那样顺手。chm文件,建议在windows PC下观看,因机器翻译,会和英文版API有部分差异或词汇的使用差异,若有必要请阅读原版英文API

2018-05-15

TortoiseGit 64bit.msi

TortoiseGit 64bit msi git bash

2017-10-11

Git 64 bit

git 64位下载; bashgit 64位下载; bashgit 64位下载; bashgit 64位下载; bashgit 64位下载; bashgit 64位下载; bash

2017-10-11

spring-batch教程.pdf

官方提供的spring batch批处理教程.pdf Spring Batch 编辑 Spring Batch 是一个轻量级的、完善的批处理框架,旨在帮助企业建立健壮、高效的批处理应用。Spring Batch是Spring的一个子项目,使用Java语言并基于Spring框架为基础开发,使的已经使用 Spring 框架的开发者或者企业更容易访问和利用企业服务。 Spring Batch 提供了大量可重用的组件,包括了日志、追踪、事务、任务作业统计、任务重启、跳过、重复、资源管理。对于大数据量和高性能的批处理任务,Spring Batch 同样提供了高级功能和特性来支持,比如分区功能、远程功能。总之,通过 Spring Batch 能够支持简单的、复杂的和大数据量的批处理作业。 Spring Batch 是一个批处理应用框架,不是调度框架,但需要和调度框架合作来构建完成的批处理任务。它只关注批处理任务相关的问题,如事务、并发、监控、执行等,并不提供相应的调度功能。如果需要使用调用框架,在商业软件和开源软件中已经有很多优秀的企业级调度框架(如 Quartz、Tivoli、Control-M、Cron 等)可以使用。

2017-09-21

Java并发大神Doug Lee同步队列论文

Java并发大神Doug Lee同步队列论文

2017-08-09

dubbo相关的配置文件出现红叉解决

eclipse中dubbo的配置文件报错了。出现小红叉的烦人问题。

2017-07-27

[JAVA解惑](美)布洛赫.PDF

[JAVA解惑](美)布洛赫.PDF

2017-06-19

Redis最精简的入门完全读本(30页)

Redis读本,一趟公交车的时间即可概览整个Redis的使用详情。

2017-05-10

SpringBoot官方文档手册

SpringBoot官方文档手册.pdf

2016-12-15

Hessian远程调用框架学习一

Hessian远程调用框架学习一,第一个JAVA使用hessian的入门demo,简单实用易理解

2016-12-13

maven构建多模块项目源码实例

使用maven构建多模块项目。在一个项目中使用多个模块的一个方法是将模块添加为依赖项,正常情况下,我们会添加一个外部模块作为依赖。但是,当模块是一个项目的一部分,并密切相关的时候,该项目应被构造为一个多模块项目。在一个多模块项目中,Maven可以确保所有子模块在主模块之前被构建。

2016-11-21

springMVC4-rest-jackson-jsonview-annotation.zip

分享一个使用SpringMVC4 Rest 和Jackson的@JsonView注解集成的实例。@JsonView用来过滤JSON响应。Spring4.1开始直接支持@JsonView注解。要使用@JsonView,首先我们需要定义视图,我们可以定义多个视图。一个视图定义可以继承其他视图定义。我们的POJO使用@JsonView注解属性传递已经定义的视图。在Spring的Controller我们可以使用Jackson的@JsonView注解我们的方法。序列化Http响应体的时候,JSON响应将在配置视图的基础上进行过滤。我们也可以在Spring REST Client使用@JsonView注解。Spring提供了MappingJacksonValue 包装POJO和序列化视图设置,在发送到web服务器短的时候,我们可以使用RestTemplate来过滤JSON。现在一步一步呈现完整的示例。

2016-11-19

Thymeleaf+Java Demo演示

Thymeleaf模板和Java集成开发的Demo演示

2016-11-16

个推Demo-APP

个推Demo -- 安装到安卓手机,可以参看博客教程http://blog.csdn.net/zixiao217/article/details/51916929

2016-07-15

数据库函数、存储过程详解

该文件包含两个doc文档,分别讲解Sybase的数据库函数和存储过程。

2014-11-01

真实个人JavaScript学习笔记

笔者根据自己使用经验整理出来的web后台开发工程师必须掌握的JavaScript技巧。

2014-08-09

Extjs中文API(脚本娃娃 (Ext4.1.0 Doc中文版 V1.0.0 Beta))

脚本娃娃 (Ext4.1.0 Doc中文版 V1.0.0 Beta),感谢20多位翻译人员的努力。 网上关于Extjs的文档大多是英文版的,快速阅读不太方便,此文档index.html用浏览器打开后是中文版,帮助新手使用。

2014-07-12

W3SCHOOL离线api.chm

本文档时程序员最喜爱的chm格式,包含html/css、javascript、xml等技术,并且每个知识点都配有小巧的实例解析,让你几分钟就能学会。

2014-07-08

开发API帮助文档集结(.chm)

这是笔者开发中常用到的chm格式api帮助文档,包括JDK,C++,CSS,JS等11个帮助文档,积分虽然有点高,但是绝对值得。分享给大家,希望能帮到大家,省却找各种API的麻烦了。

2013-12-11

JDBC学习笔记教程文档

很详细的JDBC教程文档,祝各位有所收获!

2013-12-11

oracle常用语句

笔者使用oracle开发常用的语句,推荐给初学者。

2013-12-11

常用正则表达式

还在为开发过程各种正则表达式怎么设计而烦恼吗?! 笔者根据多年的经验,总结了各种验证正则表达式献给大家,如邮箱验证,身份证格式验证得得。 很实用的常用正则表达式,推荐给大家!

2013-12-11

空空如也

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

TA关注的人

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