后端开发
后端高级程序设计语言
设计模式,软件体系结构
后端开发框架 SpringStructs
ORM框架 Mybatis
数据库原理与SQL
高性能键值数据库Redis
大数据开发框架 Hadoop Spark
一只老风铃
欣于所遇,暂得于己,快然自足。
展开
-
内联函数
使用inline关键字的函数只是用户希望它成为内联函数,但编译器有权忽略这个请求,比如:若此函数体太大,则不会把它作为内联函数展开的。 头文件中不仅要包含inline函数的声明,而且必须包含定义,且在定义时必须加上inline。【关键字inline必须与函数定义体放在一起才能使函数成为内联,仅将inline放在函数声明前面不起任何作用】 inline函数可以定义在源文件中,但多个源文件中的同名inline函数的实现必须相同。一般把inline函数的定义放在头文件中更加合适。...原创 2020-07-26 20:00:48 · 81 阅读 · 0 评论 -
设计模式 单例模式
单例模式:一个类只允许创建一个实例对象——静态变量法(线程安全)将构造方法设置为private禁止外界创建实例对象,同时设置一个static静态对象实例,并使其在类加载的初始化阶段完成创建缺点:由于在类加载过程便完成了单例创建,若一直不使用,将造成资源空间浪费线程安全:因为在类加载初始化过程完成单例创建,虚拟机类加载机制确保了线程安全class Singleton_1 ...原创 2019-02-27 14:50:12 · 107 阅读 · 0 评论 -
前端 forward和redirect区别
forward(转发):是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程实在服务器实现的,并不是在客户端实现的所以客户端并不知道这个跳转动作,所以它的地址栏还是原来的地址.redirect(重定向):是服务端根据逻辑,返回一个状态码(如302),告诉浏览器重...原创 2019-02-27 15:12:27 · 847 阅读 · 0 评论 -
Hadoop MapReduce体系概述
MapReduce是一种并行编程模式,这种模式使得软件开发者可以轻松的编写分布式并行程序。在Hadoop的体系结构中,MapReduce是一个简单易用的软件框架,基于它可以将任务分配到大量的机器集群上,并提供一种高容错的方式并行处理大量的数据集,实现Hadoop的并行任务处理。在早期的MapReduce框架中,主要由一个单独运行在主节点的JobTracker进程和运行在每个集群从节点上的T...原创 2019-02-22 20:26:35 · 364 阅读 · 0 评论 -
Hadoop HDFS体系概述
HDFS是Hadoop的核心模块,Hadoop体系结构主要通过HDFS来实现分布式存储,HDFS的体系结构,采用主从(Master/Slave)结构模型。一个HDFS集群由一个NameNode和若干个DataNode组成。其中NameNode作为主服务器,管理文件系统的命名空间和处理客户端的文件读写操作。集群中的DataNode管理存储的数据。——HDFS中的Namenode主节点...原创 2019-02-22 20:11:55 · 500 阅读 · 0 评论 -
Java多线程 Concurrent并发包——CountDownLatch
CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。CountDownLatch这个类能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程 需要 启动所有的框架服务之后再向后执行。CountDownLatch是通过一个计数器来实现的计数器的初始值为线程的数量。 每当一个线程完...原创 2019-02-19 00:58:01 · 307 阅读 · 0 评论 -
Java多线程 Concurrent并发包——Lock
传统的线程协作 Thread 、Executor、 ForkJoin——线程任务启动-》执行-》结束——线程间缺乏协作Synchronized同步——同时限定一个线程进入关键区 性能损失较大Lock——java.lang.concurrent.lock包提供同步的效果——实现更为复杂的临界区结构——tryLock方法预判锁是否空闲——允许读写锁分离 符合 ...原创 2019-02-19 00:14:48 · 957 阅读 · 0 评论 -
Java多线程 Concurrent并发包——Semaphore
Semaphore 信号量位于java.lang.concurrent包下——计数器大于0 表示可以使用的资源数量 小于等于0不可使用——可用于设置多个并发量,例如限制10个访问——acquire 获取 release 释放比Lock更进一步 可以控制多个线程同时访问关键区 实例演示:抢车位10辆车同时到达停车场,但是只有5个车位,模拟多辆车停车,开走等流程采...原创 2019-02-19 00:14:37 · 324 阅读 · 0 评论 -
Java多线程 并发数据结构的安全性
在多线程的任务执行中,常用的Java数据结构是线程不安全的——ArrayList HashMap HashSet等 非同步——多个线程可能同时读写,出现数据错误或抛出异常传统Vector Hashtable同步集合 采用synchronized方式 性能低下并发数据结构:数据添加 删除——阻塞式集合:当集合为空或满时,等待阻塞——非阻塞式集合:当集合为空为满时,不等待,返回...原创 2019-02-18 21:52:33 · 995 阅读 · 0 评论 -
Java多线程 生产者消费者问题
多线程经典问题:给定一个大小确定的仓库,有多个生产者和消费者当仓库不为空时,消费者可以消费其中的产品当仓库不为满时,生产者可以向其中放入产品 解决思路:为了避免出现数据不一致性,同一时间只允许一个线程执行读写操作采用实现Runnable接口的方式——wait notify notifyAll 关键字用于阻塞 唤醒线程——Interrupt 将向其它线程发送I...原创 2019-02-18 21:18:46 · 689 阅读 · 0 评论 -
Java多线程 volatile synchronized关键字
多线程——一个程序可以包括多个子任务,可串行 / 并行——每个子任务可称为一个线程——如果一个子任务阻塞,程序可将CPU调度另一个子任务工作,确保CPU时间片获取率和使用时间 相较于多进程优势——线程间共享数据——线程间通讯更为高效——线程是轻量级的,切换更为方便——多个线程更易管理 Java多线程方法——java.lang.Thread ...原创 2019-02-18 10:41:18 · 202 阅读 · 1 评论 -
Java多线程 ForkJoin并发框架
Fork-Join多线程并发框架——JDK7提供的一种新的并发框架:分解、合并 基于分治递归的思想——适用于整体任务量不确定,但单个最小任务确定的情况使用 ForkJoin并发框架的主要类包括:ForkJoinPool:ForkJoin线程池,实现了ExecutorService接口和工作窃取算法,用于线程调度与管理。ForkJoinTask:ForkJoin任务,...原创 2019-02-18 10:41:09 · 420 阅读 · 0 评论 -
Java多线程 Executor并发框架
从JDK5开始提供Executor FrameWork (java.util.concurrent)——分离任务的创建和执行者的创建——线程可重复利用,降低new线程带来的消耗共享线程池——创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率——预先创建好一定的Thread放于池中,当要使用时可直接向池中获取——线程并发数量过多,抢占系统资源从...原创 2019-02-18 10:40:57 · 1223 阅读 · 0 评论 -
Java多线程 ThreadGroup线程组
线程组ThreadGroup——线程的集合 ——树状结构 大线程组可以包含小线程组——可以通过enumerate方法遍历组内的线程,执行操作——可管理组内线程,但效率低下,粒度不够精细——任务分配与执行过程耦合——线程重复创建关闭,开销较大 案例演示 Searcher类实现Runnable接口 重写run()方法 Result是一个简单的bean类...原创 2019-02-18 10:40:46 · 797 阅读 · 0 评论 -
数据库 SQL基本操作二
——复制表 ( 只复制结构 , 源表名: a 新表名: b) 法一: select * into b from a where 1<>1法二: select top 0 * into b from a ——拷贝表 ( 拷贝数据 , 源表名: a 目标表名: b) insert into b(a, b, c) select d,e,f from b; ——跨数...原创 2019-02-19 12:40:54 · 174 阅读 · 0 评论 -
数据库 SQL基本操作一
SQL 分类: DDL —数据定义语言 (Create , Alter , Drop , DECLARE) DML —数据操纵语言 (Select , Delete , Update , Insert) DCL —数据控制语言 (GRANT , REVOKE , COMMIT , ROLLBACK) ——创建数据库Create DATABASE database-nam...原创 2019-02-19 12:33:51 · 121 阅读 · 0 评论 -
Spring Spring体系七大模块
——Spring Core: Core封装包是框架的最基础部分,提供IOC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。——Spring Context: 构建于Core封装包基础上的 Context封装包,提供了一种框架式的对象访问方法,有些象JNDI注册器。Conte...原创 2019-02-18 13:45:03 · 296 阅读 · 0 评论