java
文章平均质量分 58
青禾qingh
小只~
展开
-
【OSGI】1.初识OSGI-到底什么是OSGI
目前,业内关于OSGI技术的学习资源或者技术文档还是很少的。我在某宝网搜索了一下“OSGI”的书籍,结果倒是有,但是种类少的可怜,而且几乎没有人购买。因为工作的原因我需要学习OSGI,所以我不得不想尽办法来主动学习OSGI。我将用文字记录学习OSGI的整个过程,通过整理书籍和视频教程,来让我更加了解这门技术,同时也让需要学习这门技术的同志们有一个清晰的学习路线。我们需要解决一下几问题:转载 2018-01-23 09:56:15 · 298 阅读 · 0 评论 -
Java 之泛型通配符 ? extends T 与 ? super T 解惑
简述大家在平时的工作学习中, 肯定会见过不少如下的语句:List<? super T>List<? extends T>我们都知道, 上面的代码时关于 Java 泛型的, 那么这两个不同的写法都有什么区别呢?首先, 说到 Java 的泛型, 我们必须要提到的是Java 泛型的类型擦除机制: Java中的泛型基本上都是在编译器这个层次来实现的. 在生成的 Java 字节代码...转载 2018-07-11 10:26:19 · 446 阅读 · 0 评论 -
HSF源码剖析
前言HSF是一个分布式的远程服务调用框架,其实我更喜欢把分布式几个字去掉,因为HSF本身并不是一个单独的服务(指一个进程),他是附属在你的应用里的一个组件,一个RPC组件(远程过程调用——Remote Procedure Call,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发分布式应用更加容易),当...转载 2018-08-16 12:00:16 · 1308 阅读 · 0 评论 -
Java位运算原理及使用讲解
前言日常开发中位运算不是很常用,但是巧妙的使用位运算可以大量减少运行开销,优化算法。举个例子,翻转操作比较常见,比如初始值为1,操作一次变为0,再操作一次变为1。可能的做法是使用三木运算符,判断原始值为1还是0,如果是1,设置为0,否则设置为0.但是使用位运算,不用判断原始值,直接改变值就可以:1^num//num为原始值当然,一条语句可能对代码没什么影响,但是在高重复,大数据量的情况...转载 2018-08-16 20:29:15 · 468 阅读 · 0 评论 -
设计模式-工厂模式
设计模式-工厂模式工厂方法模式静态工厂(简单工厂)多个工厂抽象工厂模式工厂模式可以屏蔽实例化的具体细节,使上下层模块实现解耦。工厂方法模式工厂接口public abstract class Creator { /** * @return */ public abstract <T extends Product> T createProduc...原创 2018-12-27 17:12:48 · 429 阅读 · 0 评论 -
设计模式-模板方法模式
设计模式-模板方法模式AQS中的模板方法模式模板方法模式的优势是可以在设计时就确定算法的执行流程(往往是不可变的),以到达把控整体执行流程的目的,具体实现细节延迟到子类完成,不用关心;也可以用来在重构时,抽取子类的共同逻辑。AQS中的模板方法模式AQS是jdk提供的一个抽象队列同步器,主要实现了同步机制的框架,不关注具体的细节,jdk中有很多api运用到了这个同步器,比如:ThreadPoo...原创 2019-01-02 13:46:38 · 376 阅读 · 0 评论 -
设计模式-单例设计模式
设计模式-单例设计模式饿汉式传统类加载方式枚举方式懒汉式DCL方式内部类方式工厂方法模式饿汉式传统类加载方式/** * @author qingh.yxb * @date 2018/12/26 10:38 饿汉式加载 */public class SingletonDemo { /** * jvm在类加载第二阶段链接过程中会有一个准备的动作, * 这个动作...原创 2018-12-26 16:52:31 · 258 阅读 · 0 评论 -
设计模式-代理模式
设计模式-代理模式根据代理类是在运行前还是运行时指定,代理模式可以分为静态代理和动态代理;动态代理又可以根据实现方式不同分为:jdk动态代理、cglib动态代理,javassist动态代理。...原创 2019-01-02 18:40:15 · 254 阅读 · 0 评论 -
设计模式-策略模式
设计模式-策略模式简单实例不足策略枚举方式例子优势和不足策略模式,巧妙的利用了继承和多态的特性,让应用某些算法的功能随着场景的改变而改变;可以与工厂方法模式、代理模式,享元模式搭配使用从而避免对上层暴露太多具体的策略,违背迪米特原则。简单实例策略接口public interface Strategy { /** * 定义抽象算法 */ void algo...原创 2019-01-07 18:06:43 · 245 阅读 · 0 评论 -
netty源码浅读 - 内存管理
netty内存管理ByteBufByteBuf数据结构ByteBuf继承体系ByteBufAllocator家族功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表F...原创 2019-01-30 19:35:47 · 789 阅读 · 0 评论 -
堆和栈的概念和区别
在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不同,所以要单独进行管理。 JVM内存的划分有五片: 1. 寄存器; ...转载 2018-04-30 00:09:58 · 243 阅读 · 0 评论 -
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图
版权声明:觉得此文有用的,不嫌麻烦的,就留个言呐,或者点个赞呐(额,就是文章底部的“顶”啦),要是嫌弃麻烦呢,也麻烦点个赞嘛,要是实在不想点赞呢,也不是不可以。 但是,你要是想踩一脚呢,那还是赶紧,马上,快快的闪人。 小心我手里三十米长的大刀。 哼哼。想想都怕 !!! https://blog.csdn.net/qq_27093465/article/details/69226949Intelli...转载 2018-04-11 00:17:20 · 119193 阅读 · 14 评论 -
@import注解
SPRING框架中的@IMPORT注解在列表中,@Import 是被用来整合所有在@Configuration注解中定义的bean配置。这其实很像我们将多个XML配置文件导入到单个文件的情形。@Import注解实现了相同的功能。本文会介绍使用@Import注解来导入spring工程中的JavaConfig文件.代码Car.javapackage javabeat.net.basic;public转载 2018-01-18 10:08:53 · 505 阅读 · 0 评论 -
java元注解
JAVA中元注解有四个: @RETENTION @TARGET @DOCUMENT @INHERITED;@Retention:注解的保留位置 @Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.CLASS) //转载 2018-01-18 10:11:26 · 258 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory
(一) 现象与解决方法前些天在进行storm job的开发时候突然报了一个错误,记录一下Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory1当然我们的第一个反应是log4j这个包缺失(当然也有这种情况,需要首先确认),打开pom文件查看依赖...转载 2018-03-13 09:40:27 · 1966 阅读 · 0 评论 -
JavaWeb开发中判断App端是否已登录的方式
最近做一个app项目,后台我独自一人开发,开发任务顺序安排上没有把登陆,注册和权限验证这些基本功能放在第一阶段开发,现在是部分业务相关功能已经完成,但是用户入口竟然还没有,只能说明当初需求分析的时候还是太过于着急了,把最基本的用户入口给放到后面了。现在就需要在现有代码的基础上添加用户登录和权限验证功能。关于登录和权限验证方面,参照以前做iOS的开发经验,App端提供用户名和密码换取token,每次...转载 2018-03-13 23:15:45 · 2878 阅读 · 0 评论 -
设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇)
最近发现群内大伙对用Hbuilder做的APP怎么做登录功能以及维护登录状态非常困惑,而我前一段时间正好稍微研究了一下,所以把我知道的告诉大家,节约大家查找资料的时间。你是否真的需要登录功能?把这个问题放在最前面并不是灌水,而是真的见过很多并不需要登录的APP去做了登录功能,或者是并不需要强制登录的APP把登录作为启动页。用户对你的APP一无所知,你就要求对方注册并登录,除非APP本身已经很有名气...转载 2018-03-13 23:40:25 · 639 阅读 · 0 评论 -
token详解以及应用原理
一、我们先解释一下Token的含义1、Token的引入: Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。2、Token的定义: Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户...转载 2018-03-13 23:53:05 · 520 阅读 · 0 评论 -
去除字符串中的双引号
str为“123”1如果一个双引号:str1 = str.replace("\"","").replace("\"","");1如果不确定有多少个双引号:str2 = str.replace(/\"/g, "");1此方法为替换,也可用于去除制定字符,如:String str = "12/3";str1 = str.replace("\/"转载 2018-04-09 23:58:51 · 6680 阅读 · 0 评论 -
设计模式-责任链模式
设计模式-责任链模式对责任链模式的理解例子类图对责任链模式的理解责任链模式的运用可以使客户端透明的发起服务调用不需要关注具体是哪个环节做发起的调用做具体处理,同样,也方便handler的扩展。例子责任链模式结合模板方法模式实例:抽象handler:public abstract class AbstractHandler { /** * 黄金会员 */ ...原创 2019-01-22 18:21:50 · 228 阅读 · 0 评论