`
lobin
  • 浏览: 116539 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
Rss 文章列表
记录一下JDK的历史版本下载地址: https://www.oracle.com/technetwork/java/javase/archive-139210.html   Java SE 1.1:https://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase11-419415.html Java SE 1.2:https://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archiv ...
持久性和一致性:事务日志的记录以及在记录数据时和数据保持一致。   事务日志的概念 数据读写这个写入过程和数据最终持久写入到磁盘是两个概念,   看下系统调用函数write 以下引用来自:https://linux.die.net/man/2/write 写道 A successful return from write() does not make any guarantee that data has been committed to disk. In fact, on some buggy implementations, it does not even guar ...
  字节码   字节码文件   文件格式 Java编译后的字节码文件格式,其文件结构定义如下: ClassFile {     u4             magic;     u2             minor_version;     u2             major_version;     u2             constant_pool_count;     cp_info        constant_pool[constant_pool_count-1];     u2             access_flags; ...
  x86系列   x86:Intel从16位微处理器8086开始的整个CPU芯片系列,系列中的每种型号都保持与以前的各种型号兼容,主要有8086,8088(前面两个是16位CPU),80186,80286(这两个是过渡产品), 80386,80486以及以后各种型号的Pentium芯片[奔腾,P2, P4,赛扬...](这些都是32位CPU)   x86-64:x86-64是x86指令集的超集,在x86处理器上可以运行的程序可以运行在x86-64上(这也是为啥现在买的一些64bits CPU可以直接运行Win XP的原因)。x86-64是AMD发明的,也叫AMD64,Intel克 ...
https://github.com/protocolbuffers/protobuf/releases/download/v3.1.0/protoc-3.1.0-win32.zip 从源代码安装protoc可参考文章:https://lobin.iteye.com/blog/2435854   例子: TestIntMessage.proto syntax = "proto3"; option java_package = "com.grpc.service"; message TestIntRequest { //option ...
GetMethodID函数声明如下: jmethodID (JNICALL *GetMethodID) (JNIEnv *env, jclass clazz, const char *name, const char *sig); 获取Java对象方法的jmethodID。包括构造方法,构造方法是一种特殊的方法,但在JVM层面和其他的方式是一样的。   参数说明: env: 上面已经说明 clazz:表示对象类,如Object.class。 name:方法名,如果是得到构造方法的jmethodID,该参数固定为<init>。 sig:方法签名,形式如下: (参数 ...
关于Java RMI(RPC)的绑定(bind)和导出(export)   绑定(bind)是将远程对象存根和对应的绑定名称在Registry上进行关联,以便在查找(lookup)是能够根据绑定名称查找绑定的远程对象(实际上市对应的远程对象存根,静态存? ...
在很多远程方法调用(RPC)实现中,在开发的时候,通常会为远程对象生成对象的存根(Stub)和骨架(Skeleton),如在java1.5以前,开发RMI服务时,需要通过rmic生成对应的Stub和Skeleton。其他类似的技术如COM(DCOM)以及CORBA也会生成Stub和Skeleton。   Skeleton的作用是将用户的RPC请求转发给对应的远程对象调用。 Client   ---<call>--->  Stub   ---<req>--->   Skel   ---<dispatch>---->    ----&l ...
Ribbon是微服务的一个核心基础组件,提供多协议HTTP、TCP以及UDP的服务调用RPC功能以及负载均衡功能。 Ribbon:一个客户端IPC(Inter Process Communication)库,RPC(Remote Procedure Calls)库。支持负载均衡、故障容错、多协议支持:HTTP, TCP, UDP,支持异步(asynchronous)以及reactive模型、Caching 以及batching。   举例某个api应用,运行了两个实例(部署了2台机器),这个应用提供了两个api: 1、/test 2、/test/{version} 这两个api都 ...
>tree . /F Folder PATH listing for volume D Volume serial number is F075-351A └───com     └───jx             com_jx_Object.cpp             com_jx_Object.hpp             com_jx_Object.obj             libobj.dll             libobj.exp             libobj.lib             Object.class     ...
  private static PrivateKey privateKey = null; private static PublicKey publicKey = null; @BeforeClass public static void init() { KeyPairGenerator keyPairGenerator = null; try { keyPairGenerator = KeyPairGenerator.getInstance("DSA"); } catch (NoSuchAlgorithmE ...
  private static PrivateKey privateKey = null; private static PublicKey publicKey = null; @BeforeClass public static void init() { KeyPairGenerator keyPairGenerator = null; try { keyPairGenerator = KeyPairGenerator.getInstance("EC"); } catch (NoSuchAlgorithmE ...
 参考椭圆曲线加密:elliptic curve cryptography (ECC), 这里的椭圆曲线:elliptic curve(EC)。   使用公钥加密,再使用私钥解密。不像RSA,既可以使用公钥加密,再使用私钥解密,也可以私钥加密,再使用公钥解密   private static Provider provider = null; private static BCECPrivateKey privateKey = null; private static byte[] privateKeyEncoded1 = null; private static BC ...
  import base64.Base64; import org.junit.BeforeClass; import org.spongycastle.crypto.AsymmetricCipherKeyPair; import org.spongycastle.crypto.params.AsymmetricKeyParameter; import org.spongycastle.pqc.crypto.rainbow.*; import java.security.SecureRandom; public class RainbowTest { pri ...
哈希签名:哈希函数(hash)在数字签名中的实现思路   以下代码实现上的思路来自:Constructing Digital Signatures from a One Way Function, 文档资料源自http://lamport.azurewebsites.net/pubs/dig-sig.pdf, 这个是我下来上传的地址:http://dl.iteye.com/topics/download/f80e7b49-8d9c-30bb-9db9-8b3df6171465   public class HashDigest { private static byte ...
  Digest public interface Digest { /** * Insert one more input data byte. * * @param in the input byte */ void update(byte in); /** * Insert some more bytes. * * @param inbuf the data bytes */ void update(byte[] inbuf); /** * Insert some more bytes. ...
 EncodedKeySpec java.security.spec.EncodedKeySpec   PKCS8EncodedKeySpec 私钥的ASN.1编码(规范),编码按照PKCS#8标准:   PrivateKeyInfo ::= SEQUENCE { version Version, privateKeyAlgorithm PrivateKeyAlgorithmIdentifier, privateKey PrivateKey, attributes [0] IMPLICIT Attributes OPTIONAL } Version ...
    计算季度:   db.task.aggregate([{ $match: { "createDate": {$ne: null} } }, { $project: { status: 1, createDate: 1, quarter: { $cond: { if: { $gte: [{ $month: "$createDate" }, 10] }, then: "Q4", else: { ...
关于java函数式编程form表达式形式->: 用法: x -> form 上面整个x -> form就是一个form。 在其他函数式编程语言中, 其其形式系统一般为: (f & arg*) 其form形式有一个括号()。如clojure中打印字符串: (println "this is a string") 还有在其他函数式编程中: > ((lambda (x y . z) z) 3 4 5 6) 结果输出: (5 6) 这等同于clojure中: => (let [[x y & z] [3 4 5 6]] z) 一样的效果 ...
The symbolic, non-executable form of a method handle's invocation semantics. It consists of a series of names. The first N (N=arity) names are parameters, while any remaining names are temporary values. Each temporary specifies the application of a function to some arguments. The functions are method ...
public class Test {     @org.junit.Test     public void test1() {         HK2 hk2 = HK2.get();         Services services = hk2.create(null, new Module[0]);         DynamicBinderFactory dynamicBinderFactory = services.bindDynamically();         Binder binder = dynamicBinderFactory.bind(ServiceImpl.cla ...
{   sun.management.RuntimeImpl[java.lang:type=Runtime],   sun.management.GarbageCollectorImpl[java.lang:type=GarbageCollector,name=PS Scavenge],   org.apache.tomcat.util.modeler.BaseModelMBean[Tomcat:type=GlobalRequestProcessor,name="http-bio-8880"],   sun.management.ManagementFactoryHelper ...
encode one to one org.jboss.netty.handler.codec.oneone.OneToOneEncoder com.alibaba.dubbo.remoting.transport.netty.NettyCodecAdapter.InternalEncoder org.jboss.netty.handler.codec.base64.Base64Encoder org.jboss.netty.handler.codec.marshalling.CompatibleMarshallingEncoder org.jboss.netty.handler.codec.s ...
  public class HessianMethodInvocation implements InvocationHandler, Serializable { private static final long serialVersionUID = 7304512179586775133L; private TestServiceImpl testService; private HessianSkeleton skeleton; private AbstractHessianInput input; private AbstractHessian ...
  public int index() { return Math.abs(idx.getAndIncrement() % executors.length); }  在n为2的k次方的情况下: public int index1() { return idx1.getAndIncrement() & executors1.length - 1; }   public int index2() { int value = idx1.getAndIncrement(); int i = value & executors1.length - 1; ...
    @Test public void interrupt4b() { Thread t = new Thread() { public void run() { for (int i = 0; i < 10; i++) { if (isInterrupted()) { System.out.println("interrupted"); } else { System.out.println("not interrupted"); } } ...
  public class ThriftExporter extends RemoteExporter implements InitializingBean { private static final Logger LOGGER = LoggerFactory.getLogger(ThriftExporter.class); public static final String CONTENT_TYPE_HESSIAN = "application/x-thrift"; protected TProcessorFactory process ...
Hadoop Record IO, Jute and Thrift
Global site tag (gtag.js) - Google Analytics