`
文章列表
grep 命令: 查找常见的文本 grep -n pattern files -- 规则 -n表示显示行号 如: grep "null" core-warn.log  文件中包含字符串的所有地方 less 查看日子 ctrl+g定义到最后一行 ctrl+b 一页一页向上搜索 tail -n 100 xxx.log 查询当前日志最后一百页 /字符串:向下搜索“字符串”的功能   ?字符串:向上搜索“字符串”的功能   n:重复前一个搜索(与 / 或 ? 有关) 查找日子 xargs 按照行打印 find *.log | xargs grep "new ...
idea 最新激活方式:http://blog.csdn.net/zx110503/article/details/78734428 2017.2 版本以前的用注册嘛可以 。2017.3版本的必须用最新的注册方式 Idea快捷键使用总结[/size] [size=medium;]idea 快捷键使用 pvsm 自动生成main函数 sout 自动输出System.out.println()函数 control +shift +f 全局搜索 commcat + n。快速搜索想要的类 alt +f7 表示快速查看这个方法被谁调用 ctrl +d 表示快速增加一行 Ctrl+Alt+L 格式化代码 ...
进程:           查询百度大致可以理解为一段具有独立功能的程序,线程是程序中每个部分的代码,一个进程,拥有多个线程,或者子进程。windows 下exe程序就是一个进程。 线程:           线程是进程在相同时间分个每个客户单独运行的一段相同程序代码,多线程指的是在程序中同时运行的多个方法片段。 多线程的理解:          一个类如果实现了Runnable接口或者继承了Thread类,那么它就是一个多线程类,如果是要实现多线程,还需要重写run()方法,所以run() 方法是多线程的入口           但是在启动多线程的时候,不是从run()方法开始的,而是从 ...

liunx常用命令

cd 进入目录   可绝对路径可相对路径 cd ..返回上一层目录 rz  上传本地文件到linux服务器上    直接输入rz回车即弹出选择文件 vim /vi  (ps:个人建议用vim 能够快速定位到你需要修改的地方) 编辑文件  选择编辑文件后要退 ...
TCP/IP是个协议组:      主要可以分为4层,分别是应用层 ,传输层,网络层,数据链路层。分层的好处在于如果要改变某一个协议时候,不会去影响到其他协议。如同Java中的封装,隔离。 1. 应用层 :负责处理特定的应用程序,在TCP/IP协议组中预存了各类同用的应用服务,比如FTP,DNS,HTTP等等 2. 传输层:对上层应用层提供处于网络连接中的两台计算机之间的数据传输,有两个不同的协议:TCP/UDP、 3. 网络层:处理网络上流动的数据包。(网络上传输的最小数据单元) 该层主要协议有 IP(网际协议) ICMP(internet控制报文协议 用于IP主机 ,路由器之间传 ...
package com.downjoy.test.guava.concurrency; import com.downjoy.test.guava.GuavaBase; import com.google.common.util.concurrent.*; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; / ...
Guava是Google开源的一个Java基础类库,它在Google内部被广泛使用。Guava提供了很多功能模块比如:集合、并发库、缓存等,EventBus是Guava框架对观察者模式的一种实现,使用EventBus可以很简洁的实现事件注册监听和消费。Guava框架里面提供了两种相关的实现,一种是单线程同步事件消费,另外一直是多线程异步事件消费。后者在对象设计上是前者的子类,EventBus 异步事件订阅处理通过post发送消息对需要的事件进行注册,在通过事件处理,根据类名,参数去处理注册的事件。 导入Guava 包:        <dependency> &l ...
httpUtil请求网络请求工具: package demo.dcn.service.utils; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.io.Unsupported ...
Morphia是一个开放源代码的对象关系映射框架,它对MongoDB数据库 java版驱 动进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵MongoDB数据库,也让Java程序员可以从复杂数据库设计中脱离出来, ...

mongodb注解详解

    博客分类:
  • java
1、@Entity     如果你想通过Morphia把你的对象保存到Mongo中,你首先要做的是使用@Entity注解你的类: @Entity(value="comm_user_favorite_count",noClassnameStored=true)在@Entity注解中提供了一个可选的参数用来标识是否在文档中保存类名。 2、@Entity实体类,name为collection的名称,noClassnameStored用来标识是否需要存储className字段来表示类名,为什么要使用他哪?保存类名的主要目的是,当你在同一个链接中保存不同的实体对象,但是你想 作为他们 ...
   按照自己的理解对密码加盐加密。当用户注册时候会先生成盐值,保存,然后保存账户和密码。当用户去登录的时候,我们需要先通过我们的用户名去查询我们的盐值,然后再根据盐值和密码去匹配对应的数据库。当然这里可能出现一个用户名有多个盐值的问题,这可能也是很多网站注册利用用户名去唯一识别,当然也跟需求有关,不能修改用户名.。如果是多个的就需要循环去比对.这次加密,主要讲MD5自己改写 然后加上盐值去保存,双重保密,这样应该可以防止暴力破解了吧。 来看代码吧: package demo.dcn.service.utils.security; import java.security.MessageD ...
之前redis已经描述了redis 的基本作用与用处, 这一篇主要讲述redis运用场景以及分片,和spring整合。redis 存储数据结构大致5种,String 普通键值对,用的比较多。HASH针对 key 唯一标识 hashmap 键值对运用也比较多 list set 当然是集合运用 sortedSet 排序集合使用。 首先看redis 和spring 配置整合 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframewo ...

密码学

1 密码学简介   2.1 概念   (1) 发送者和接收者   假设发送者想发送消息给接收者,且想安全地发送信息:她想确信偷听者不能阅读发送的消息。   (2) 消息和加密   消息被称为明文。用某种方法伪装消息以隐藏它 ...
(1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。 此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。 并通过在消费方获取服务提供方地址列表,实现软负 ...

kafka

Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka ...
Global site tag (gtag.js) - Google Analytics