java
灰色秒年
希望远方还有诗在等我
展开
-
位运算的小理解
位运算符是一个很底层的东西,有很多时候我们都不会用,但是也有一些可以做一个妙用位运算与 ‘&’ 全一为一,否则为零(双目)或‘|’ 全零为零 ,否则为一(双目)异‘~’ 遇一为零,遇零为一 (单目)异或‘^’ 相同为零,不同为一(单目)逻辑运算与位运算的区别1.逻辑运算符只能原创 2014-08-06 11:16:52 · 490 阅读 · 0 评论 -
maven 学习
百度解释镇楼 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用原创 2016-06-26 14:50:33 · 296 阅读 · 0 评论 -
JAVA 垃圾收集器和回收策略
所要进行回收的对象引用计数法,当对象在其他的对象上具有引用的时候,一个引用就计数加一,然后这样进行加法,如何计数为0的对象,就是需要进行回收的。但是这个存在一个问题,当对象A和对象B相互持有对方的引用的时候,这种方式就无法进行回收。可达性分析法,定义一个GC ROOT,如何被GC ROOT 引用的对象,或者对象在引用链上能够追朔到GC ROOT的话,这样的对向就不进行回收。GC ROOT有 虚原创 2017-11-19 21:44:00 · 217 阅读 · 0 评论 -
JAVAC 编译原理
含义javac是一种编译器,将一种语言规范转化为另一种语言规范。javac将java源代码转化为JVM能够是被的一种语言。然后JVM将JVM的语言进行转化为机器能够识别的语言。基本机构如图所示,java源代码转化为java字节码,有四个过程: 词法分析语法分析语义分析代码生成词法分析是将源代码进行转化为Token流。语法分析是将Token流转化为语法树。语义分析是把一些难懂的,复杂原创 2017-11-27 22:45:36 · 290 阅读 · 0 评论 -
请求转发和重定向
含义重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)请求转发是服务器内部进行转发。图片比较请求转发:是在客户端发起请求后,在服务器之间的跳转,然后服务器返回页面给客户端进行显示。此时地址栏的地址没有进行改变。重定向 客户端发起请求之后,服务器会将重定向的地址发给客户端,客户端将地址原创 2017-11-29 23:56:25 · 391 阅读 · 0 评论 -
Java ClassLoader 理解
ClassLoader理解1.JVM结构和Java文件如何加载JVM结构2.ClassLoader的介绍简介:类加载器 将class文件加载到jvm中区等级(加载器分为几种) Bootstrap ClassLoader :主要是加载jvm自身的文件,是有c语言进行编写的,在程序中通常是不会进行使用的,主要进行加载rt.jarExtClassLoader :进行加载ja...原创 2018-03-02 22:16:04 · 194 阅读 · 0 评论 -
使用spring-session redis共享session
原因之前有一篇分享过session共享的方案,redis共享session确实有很多好处,但是在原有的工程上面添加去修改session放到redis里面去,确实有一定的改动量。但是我们可以通过spring提供的spring-session和redis做到无感切换session。原理是spring做了一层拦截器,对Session做了一层封装,当我们进行调用session.setAttribut...原创 2018-06-27 18:28:03 · 410 阅读 · 0 评论 -
标记清除算法
标记清除算法GC里面字面的意思进行理解就行,就是有标记阶段和清除阶段构成。标记阶段就是把所有的活动对象做上标记,清除阶段就是把那些没有标记的对象进行清除。伪代码 mark_sweep()_{ //标记阶段 mark(); //清除代码 sweep(); } mark(){ //对 root 对象进行遍历 标记 for( r : $root){ mark...原创 2018-09-23 00:06:41 · 947 阅读 · 0 评论 -
slf4j 如何启动logback,log4j源码分析
历史知道java 日志框架的,应该知道log4j,logback,slf4j竟然是一个作者写的,我的天。为啥要写三个。。这个可以去看看相关的文章,今天讨论的门面slf4j是如何驱动logback和log4j的。入口 //一般日志的开启都是在这里开始的。 private static final Logger logger = LoggerFactory.getLogger(...原创 2018-10-16 00:47:20 · 323 阅读 · 0 评论 -
ThreadLocal
ThreadLocal 使用 使用了国人写的mysql的pageHelper进行分页的时候,有时候会想在执行sql 语句的时候,只用在前面添加一段静态代码,就可以分页了,很神奇,更重要的是web服务的时候,多个请求执行的sql语句并不是相同的,为什么添加了这个静态代码可以准确无误的得到该有的分页呢。1.pageHelper的原理 设置拦截器,在执行sql语句的时候,拦截到执行的sql语句,在判断原创 2017-09-18 22:10:37 · 618 阅读 · 0 评论 -
spring boot 配置 JPA
1.配置maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>在pom.xml 中配置出spring boot的jpa,原创 2017-05-05 19:19:41 · 356 阅读 · 0 评论 -
浅探String的equals方法
话不多说,直接开始。在先了解String的equals 方法的时候。我们应该做的是先看看Object 这个父类的实现把。 public boolean equals(Object o) { return this == o; }在Object 这个类中equals 竟然就是 == 就是说的是对地址进行等价。 但是String 类将 equals 方法进行了复写了 让我们原创 2016-07-06 14:28:13 · 316 阅读 · 0 评论 -
java web 随记
response.sendRedirect(arg0)重定向跳转页面 也就是服务端相应客户端的要求跳转的页面 相应机制就是客户端---------request -------服务端-------------重定向------------客户端--原创 2015-04-04 00:24:48 · 417 阅读 · 0 评论 -
java调用时候的父子类的顺序
我们在java中 总是会有一些不懂父子类 在new的时候调用的顺序在这里面我们做一个总结这个是调用java方法调用的问题,顺序一般是:父类静态成员和静态初始化块 从上到下的顺序子类静态成员和静态初始化块 从上到下的顺序父类实例成员和实例初始化块 从上到下的顺序父类的构造方法子类实例成员和实例初始化块 从上到下的顺序子类的构造方法原创 2016-04-17 17:36:40 · 680 阅读 · 0 评论 -
android handle 简单应用
android的线程我们有简单的引用,今天在网上查了资料,做了一个简单的基于handle 和thread线程的异步加载图片:final Handler handler = new Handler() { @Override public void handleMessage(Message msg) { ((ImageView) MainAct原创 2016-04-18 23:41:43 · 449 阅读 · 0 评论 -
Mina框架整合 spring2.0 和spring3.0 版本的问题
开始的时候,我按照一个开源的项目androidpn来进行配置的,但是总是出现了这样的错误,错误如下:2016-05-17 08:17:56,188 ERROR org.springframework.web.context.ContextLoader org.springframework.web.context.ContextLoader.initWebApplicationContext(Con原创 2016-05-17 08:28:35 · 1289 阅读 · 0 评论 -
mina服务关闭
我在我原来的基础上SSM的基础有添加了mina框架,搭建完毕,但是每次关闭tomcat的时候,mina的服务并没有进行关闭掉,这样使得端口总是被占用,由于我们是定义的controller标签,所以我加了一个标签@PreDestory 这个标签在中我们进行销毁mina的服务: @PreDestroy public void Destory(){ minaManger.dest原创 2016-05-17 23:47:23 · 1687 阅读 · 0 评论 -
创建有自己导航ViewPage
我们在android 手机上看到了有一种效果,就是上面是tab 导航栏。下面就是一个fragment,当我们进行滑动下面的fragment 的时候,上面的标题就跟着一起移动。这个是看慕课一个大神写的。 综述上面的这个效果其实就是上面是一个自定义的LinearLayout 下面是一个ViewPage.通过自定义的东西来实现我们想要的东西。main.xml 的编辑<?xml version="原创 2016-07-06 09:04:00 · 366 阅读 · 0 评论 -
backlog 自定义appender 做实时输出日志
backlog 自定义appender 做实时输出日志实时日志输出实时日志输出原因微服务盛行的时候,都是化整为零,导致日志的输出没有统一的管理,需要做一个统一的日志实时输出(或者说是日志实时收集的功能)。需求能够自己定义日志输出的格式能够上传给某个服务端进行访问能有开关进行在必要的时候进行关闭开关因为日志框架,现在都是按照logger,appender,encode ...原创 2018-10-09 17:29:57 · 1602 阅读 · 0 评论