- 浏览: 71444 次
- 性别:
- 来自: 北京
文章列表
我们要做的是一个基于日志打印时候需要对敏感信息进行加密。简单的来说。就是比如你的身份证号码是145267267889297929X,让在日志打印时候显示1452******29X这个样子。
为了满足需求研究了下阿里的fastjson。
fastjson具有高度的可控性,可以自己定制序列化,比如当中有注解处理的
1.通过@JSONField定制序列化
2.通过@JSONType定制序列化
具体的使用:
@JSONField(serialize=false) //不进行序列化的字段
@JSONField(name="usname") //修改序列化的输出的属性值
@JSONT ...
jmap命令
ps -ef| grep java
root 1426 1359 0 10:30 pts/0 00:00:00 grep java
root 7807 1 0 Apr28 ? 00:22:52 /usr/java/jdk1.8.0_45/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-8.0.30/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoader ...
javap定义
javap是 Java class文件分解器,可以反编译(即对javac编译的文件进行反编译),也可以查看java编译器生成的字节码。用于分解class文件。
测试类
public class JavapTest {
private static final int _P_1 = 1;
public static final int _P_2 = 2;
public static void main(String[] args) {
int m = 0, n = 0;
for (int i = 0; i & ...
刻意追求,性能不佳
同事写了一段牛逼的代码我以为这个是为了提升就像日志输出时候性能问题。但是在自己测试之后获得臆想不到的效果。
import java.text.MessageFormat;
public class TestMessageFormmat {
public static void main(String[] args) {
String c;
Long startFormat=System.currentTimeMillis();
for (int i=0;i<100000;i++)
c=M ...
HIVE数据操作语言DML
- 博客分类:
- hive
1.hive的集中join方式和使用场景,map-side join的reduce-side join适用场景
2.复杂查询的单标过滤条件使用位置,where和on的区别,涉及列裁剪,分区裁剪;
列裁剪优化:
select * from order_table limit 10;优化后只读取需要的数据列
select user,item from order_table limit 10;
分区裁剪优化使用查询条件添加分区:
select count(orderid) form order_table where[i] dt='2014-11-11' [/i]and to_data(sal ...
简单的配置和使用。
/*
*该类一定是要public的,不要使用内部类
*/
public class Employee {
private String name;
private Date birthDate =new Date();
private BigDecimal payment = new BigDecimal(23);
private BigDecimal bonus =new BigDecimal(24);
public Employee(String name) {
this.name = n ...
/**
* 需求描述
* 返回一个map,map中存放的一下的列表
* 综合排序:List<id> 1,2,3,4,5,6
* 销量排序:List<id> 6,4,68,9,0,8
* 价格排序:List<id> 8,2,3,5,6,7,3
* 处理后的结果:
* 假定要取出6个数据,预先从指定的列表顺序。在list1中取一个元素,list2中取出一个元素,list3中取出一个元素。如果上一个list中获得值,
* 继续当前list的下个元素,循环上述操作,直到取到6个元素
* 得到结果集 1,2,6,4,8,3
* & ...
shell输入输出重定向
就像是脚本运行时候的日志,你需要在某个文件中查看,我们需要将各个脚本的日志输出重定向到统一的某一个文件中,监控整个项目的执行情况。
输出重定向
一般情况下,每个 Unix/Linux 命令运行时都会打 ...
比较实用的几个命令
同时满足多个关键字和满足任意关键字
grep -E "word1|word2|word3" *.log
必须同时满足三个条件(word1、word2和word3)才匹配
grep word1 file.txt | grep word2 |grep word3
使用tail时候不能用grep搜索
tail -f log | grep --line-buffer xxx | grep --line-buffer yyy
其他同样类似的操作有egrep,awk
正则表达式查找日志文件
grep [options] regex [files]
选项 含义 功能 ...
在项目的web环境或者需要打包对应不同的环境我们使用profiles区别是打包测试环境的包还是生产环境的,这里我说一下maven打包时候的配置
<profiles>
<profile>
<id>production</id>
<properties>
<p1>值</p1>
</properties>
</profile>
<profile>
<id>development< ...
在springmvc中配置velocity
<!--相关的文档http://docs.spring.io/spring/docs/4.2.9.RELEASE/spring-framework-reference/htmlsingle/#view-velocity-->
<!-- 配置velocity引擎 -->
<bean id="velocityConfigurer"
class="org.springframework.web.servlet.view.velocity.VelocityCo ...
之前研究hadoop但是笔记和记录都比较散,以后定期的整理到这技术博客中,希望可以帮到大家:
HDFS数据存储
NameNode:
接收客户端的读写服务,
NameNode保存metadata信息包括:
文件owership和permission,
文件包含那些块,block
保存在那个DataNode上。【datanode启动时上报到nameNode】
NameNode的metadata信息在启动后会加载到内存,
Metadata存储到磁盘的文件名为”fsimage”
Block的位置信息不回保存到fsimage
edits记录对metaImage的操作日志。
文件被切分成固定的大小,默认是 ...
添加对应的logback的相关的依赖包
<?xml version="1.0" encoding="UTF-8"?>
<!--
-scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true
-scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
- 当scan为true时,此属性生效。默认的时间间隔为1分钟
-debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态 ...
在测试环境需要监控远程linux上系统的运行情况和debug操作
1.在ida上看看找到Run/Debug Configrantions
2.添加tomcat,选择remote的tomcat
3.编辑配置本地的端口
以下是我的机子
//添加访问的测试环境的地址
http://xxx.xxx.com
//配置本地的hos ...