在阅读Javac源码的过程中,发现一个上下文对象Context. 这个对象用来确保一次编译过程中的用到的类都只有一个实例,即实现我们经常提到的"单例模式". 今天,特意对这个上下文容器进行解析,主要是讲解上下文容器.单例模式和延迟创建. 通过对OpenJDK和Javac源码的一点点解析,希望自己能够搞懂JDK和Javac的实现. 1.OpenJDK源码示例 a.上下文容器 public class com.sun.tools.javac.util.Context{ //构造函数 pub…
一.编译testOnDemandRTSPServer.cpp. 在testProgs项目中,加入testOnDemandRTSPServer.cpp进行编译,编译类型是编译成exe文件,在编译过程中会上报很多错误.原因是下面三个. 1,连接器->常规->附加库目录 中把生成的四个lib库目录加进去. 2,链接器->输入->附加依赖项 添加下面的项目 3,在groupsock项目中没有添加inet.c这个文件,要把这个文件添加进去,再重新编译 4,在liveMedia项目中没有添加r…
在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: checking for BZip2 support… yes checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution Fix: yum install bzip2-devel checking for cURL s…
目录 4 安装过程中遇到的问题和解决方法 4.1 常见问题 4.2 常用的操作命令 4.3 比较好的博客 国内不fq安装K8S一: 安装docker 国内不fq安装K8S二: 安装kubernet 国内不fq安装K8S三: 使用helm安装kubernet-dashboard 国内不fq安装K8S四: 安装过程中遇到的问题和解决方法 4 安装过程中遇到的问题和解决方法 4.1 常见问题 (1) Kubernetes Pod错误ErrImagePull? 两种办法: 1 直接docker pull…
本博客主要是说一下,,如何将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法. 1.先在阿里云上购买一台阿里云服务器(ECS云服务器): 2.远程连接上该服务器,在服务器上安装必要的库: 3.在服务器上安装nginx: 先使用whereis nginx命令查看是否已经安装了nginx,如果没有安装,则输入如下命令进行安装,如果已经安装,则跳过下一步: 使用sudo apt-get install nginx命令安装nginx: 在安装nginx的过程中如果出现…
前文演示了编译SSCLI最简便的方法(在Windows下): 在“Visual Studio 2005 Command Prompt”下,进入SSCLI的根目录: 运行 env.bat 脚本准备环境: 运行 buildall.cmd 脚本开始编译过程. env.bat设置了当前SSCLI的运行环境,命令的语法是:`env [option]`,其中[option]可以是debug.checked和free,各个环境选项说明如下表: 选项 说明 debug 关闭代码优化设置,启用调试用代码(一般是通…
前14篇文章,分享了JDK中值得学习和借鉴的编码和设计方法. 每个硬币都是有两面的.Every coin has two sides. 当然,JDK中也有很多值得改进或者说富有争议的设计. 本篇,就来详细吐槽下JDK中的10个富有争议的设计. 网友指出1.求和抛异常,错误提示不合理. 在OpenJDK源码研究笔记(一)-参数检查&抛出带关键错误提示信息的异常这篇文章中,有个网友指出:"第三个if的提示信息有点问题.前两个if说明了position和size都不可能为负,求和通常不可能为负…
http://www.blogjava.net/TrampEagle/archive/2006/05/26/48326.html 今天在研究javamail发信的过程中,出现了一些小问题,现总结如下,以免后来者走些不必要的弯路,先把完整的能够正常运行的代码示例粘贴如下:发邮件源代码:package com.hyq.test; import java.util.Properties;import javax.mail.*;import javax.mail.internet.*; public c…
live555MediaServer.cpp就是live555服务器启动的过程. 一.启动过程 1,构造运行环境,运行环境包括了TaskScheduler 2,构造鉴权数据,也就是登陆的用户名和密码等. 3,构造DynamicRTSPServer,构造函数中包括了运行环境.鉴权数据.端口(554). 4,设置OverHTTP的端口80.8000.8080 5,taskScheduler的socket的监听事件doEventLoop() 二.启动过程中涉及的主要类图…
类名 扩展的类型 方法名 参数 作用 XmlNodeExtensions XmlNode GetAttributeValueOrNull attributeName Gets an   attribute's value from an Xml node. JsonExtensions object ToJsonString bool   camelCase bool   indented Converts   given object to JSON string. StreamExtensi…