1.实现方案 对需要进行数据权限的请求添加自定义注解,通过拦截器对请求进行拦截,判断是否需要进行数据权限验证和执行数据权限验证的逻辑。(GET请求没问题,POST请求因为HttpRequest的流getReader只能读取一次,如果在拦截器处理后,进入Handler会抛异常。此问题后面单独说) 2.
YUM(Yellow dog Updater Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 yum提供
1 package com.test.pic.crawler; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.OutputStream; ...
1 import org.springframework.context.annotation.Configuration; 2 import org.springframework.web.servlet.config.annotation.CorsRegistry; 3 import org.springframework.web.servlet.config.annotation.W...
1. CONFIGURE TOOLING Configure user information for all local repositories $ git config --global user.name "[name]"Sets the name you want atached to y
1. 打开IDEA安装路径,打开以下配置文件 2. 添加-Dfile.encoding=UTF-8 3. 配置项目编码及IDE编码 进入settings,选择File Encodings,把IDE Encoding和Project Encoding配置为UTF-8,同时将下面的Default enc
1. 类加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Jav
1. 安装EGit插件 2. 导入git项目 选择Import: 选择“Clone URI” 输入想要导入的git项目地址和用户名密码: 选择代码分支: 一路点击next完成导入github项目即可。 3. 开启命令行 下载安装git 选择 “Run -> External Tools -> Ext
近期项目中需要
Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 什么是 vim? Vim是从 vi 发展出来的一个文本编
1.pom.xml中加入依赖插件 1 <!-- mybatis generator 自动生成代码插件 --> 2 <plugin> 3 <groupId>org.mybatis.generator</groupId> 4 <artifactId>mybatis-generator-maven-plu
根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类: ①创建型模式(Creational
JDK 监控和故障处理工具总结 1. HotSpot虚拟机的垃圾收集器(图中两个收集器之间有连线,说明它们可以配合使用) Serial收集器:新生代收集器,使用停止复制算法,使用一个线程进行GC,串行,其它工作线程暂停。使用-XX:+UseSerialGC可以使用Serial+Serial Old模
1. HashMap 标准链地址法实现(下图)。数组方式存储key/value,线程非安全,允许null作为key和value,key不可以重复,
java的内存区域划分 根据《Java虚拟机规范》的规定,运行时数据区通常包括这几个部分: 程序计数器(Program Counter Register)、 虚拟机栈(VM Stack)、 本地方法栈(Native Method Stack)、 方法区(Method Area)、 堆(Heap)。
1. HDFS读数据流程 1、与NameNode通信查询元数据,找到文件块所在的DataNode服务器 2、挑选一台DataNode(网络拓扑上的就近原则,如果都一样,则随机挑选一台DataNode)服务器,请求建立socket流 3、DataNode开始发送数据(从磁盘里面读取数据放入流,以pac
Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用
1. 连接到 redis 服务 2. Redis Java String(字符串) 实例 3. Redis Java List(列表) 实例 4. Redis Java Keys 实例
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 1. String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。st
一、 kafka的存储机制 kafka通过topic来分主题存放数据,主题内有分区,分区可以有多个副本,分区的内部还细分为若干个segment。所谓的分区其实就是在kafka对应存储目录下创建的文件夹,文件夹的名字是主题名加上分区编号,编号从0开始。 1. segment 所谓的segment其实就
在JDK1.2之后,Java将引用分为强引用( Strong Reference )、软引用( Soft Reference )、弱引用( Weak Reference )、虚引用( Phantom Reference )四种,这四种引用强度依次逐渐减弱: 强引用就是指在程序代码之中普遍存在的,类似
根据进程号查询占用资源多的线程 1. top -H -p 10365(进程号) shift+H开启show threads on功能,展示线程资源占用情况 找到消耗CPU等最多的PID为:10599 2.printf "%x\n" 10599 > 2967(转为16进制) 3.jstack 1036
NameNode职责 响应客户端请求 维护目录树 管理元数据(查询,修改) HDFS元数据存储 checkpoint操作的触发条件配置参数: 元数据的checkpoint
CountDownLatch用法 CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 CountDownLatch类只
Shuffle是map和reduce中间的数据调度过程,包括:缓存、分区、排序等。 Shuffle数据调度过程: Shuffle数据调度过程(大图链接):
+ ReentrantLock类的使用 + ReentrantReadWriteLock类的使用 1. 使用ReentrantLock类 ReentrantLock类能够实现线程之间同步互斥,并且在扩展功能上更加强大,例如嗅探技术、多路分支通知等功能,在使用上比synchronized更加灵活。Re
1.通过ipaddress.com查询github.com域名对应的IP. 选取TTL最小的IP添加进本地hosts文件中,如: 2.添加以上内容后,git能够打开,可能会显示不正常,如下: 遇到该问题,可F12,查看网络请求,哪个有异常就循环步骤1,直到页面能够正常打开。例如F12发现assets
Storm的基本概念 Topology:拓扑,也俗称一个任务,类似于MapReduce中的job。将Spout、Bolt整合起来的拓扑图。定义了Spout和Bolt的结合关系、并发数量、配置等等。 Spout:拓扑的消息源,源源不断的发送元组数据Tuple Bolt:拓扑的处理逻辑单元。消费Tupl
问题现象:功能全部爆红,总是提示“setup JDK”,设置JDK后无效。但程序能够正常编译和运行。 解决方法:
参考Javassist tutorial 1、读取和输出字节码 这里可以看出,Javassist的加载是依靠ClassPool类,输出方式支持三种。 2、新增Class 从上面可以看出,对Class的修改主要是依赖于CtClass 类。API也比较清楚和简单。 3、冻结Class 当CtCl
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号