豫ICP备17040950号-2

vscode配置gcc编译工具

Visual Studio Code(简称 VS Code)作为当下最热门的跨平台,包括 Windows、Mac OS X 以及 Linux 代码编辑器,VS Code 根本不具备 C、C++编译器,因此在配置 VS Code 之前,我们必须先在当前系统中,安装好可用的 C、C++ 编译器。对于 Windows 系统而言,读者可阅读C语言中文网的《MinGW下载和安装教程》一节,安装 MinGW(GCC 编译器的移植版);对于 Linux 和 Mac OS X 来说,很多系统上都默认安装有 GCC 编译器,如果没有,读者需要自己动手安装。也可以按照本文详细步骤来安装相关插件和依赖环境配置。

深入理解OSGI的模块化

OSGI(Open Service Gateway Initiative)技术是面向Java的动态模型系统。

OSGI框架实现了一个优雅、完整和动态地组件模型。应用程序(bundle)无 需重新引导可以被远程安装、启动、升级和卸载。
OSGi技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。 这些组件能够组装进一个应用和部署中。
OSGi服务平台提供在多种网络设备上无需重启的动态改变构造的功能。
为了最小化耦合度和促使这些耦合度可管理,OSGi技术提供一种面向服务的架构,它能使这些组件动态地发现对方。
OSGi联盟已经开发了例如像HTTP服务器、配置、日志、安全、用户管理、XML等很多公共功能标准组件接口。这些组件的兼容性插件实现可以从进行了不同优化和使用代价的不同计算机服务提供商得到。然而,服务接口能够基于专有权基础上开发。
OSGi的主要职责就是为了让开发者能够创建动态化、模块化的Java系统。

linux下如何在不解压jar包查看或修改配置文件(二)

有时候部署JAVA程序经常因为不同开发机器上的一部分配置不同,导致项目中的配置文件有些用户名密码等信息有差异,临时打包的时候经常忘记修改,可以重新打包,但是重新打包如果花费时间过长的时候这样做就太不划算了。因此专门总结了不同的方式,找了一种不需要安装其他工具的方式,使用JAVA自带的jar指令方法,详细记录一下我的修改过程(以下过程按照顺序执行,可以跳过某些步骤):

计算机二进制中的原码,反码,补码

计算机最基本的工作是处理数据,而数据的最底层表现形式是二进制,并非是我们人类熟悉的十进制。可以这么认为,计算机其实是很“笨的”,它只理解二进制数据。

今天,主要介绍计算机是怎样做加减运算的。你可能会想,加减运算?这么简单的事情,还用介绍?也许还真不是你想的那样。

计算机的运算是由CPU 完成的,而CPU 只会做加法运算,不会做减法运算,那计算机怎样完成减法工作呢?

1,二进制数

我们先来看看二进制数。

二进制数是由0,1 组成的,比如:

十进制的5,用二进制表示是 101。
十进制的7,用二进制表示是 111。
数字由正数和负数组成。为了表示正负数,计算机中就有了有符号数无符号数之分:

无符号数:英文为 unsigned,只能表示正数。
有符号数:英文为 signed,即能表示正数,又能表示负数。

C/C++ 语言中的数字有有符号数无符号数之分。
Java 语言所有的数字都是有符号数

JVM线上CPU飚高和内存问题故障排查基本操作

前言

对于后端程序员,特别是 Java 程序员来讲,排查线上问题是不可避免的。各种 CPU 飚高,内存溢出,频繁 GC 等等,这些都是令人头疼的问题。楼主同样也遇到过这些问题,那么,遇到这些问题该如何解决呢?首先,出现问题,肯定要先定位问题所在,然后分析问题原因,再然后解决问题,最后进行总结,防止下次再次出现。

1. CPU 飚高

线上 CPU 飚高问题大家应该都遇到过,那么如何定位问题呢?

思路:首先找到 CPU 飚高的那个 Java 进程,因为你的服务器会有多个 JVM 进程。然后找到那个进程中的 “问题线程”,最后根据线程堆栈信息找到问题代码。最后对代码进行排查。