发布此查询以基本上了解诸如
对象是类实例或数组;
数组是类的子Object
类;
在 Java 中,除了基元之外的所有实例化都是对象。
这是我对在 Java 中使用数组的理解。
考虑到下面的程序,
/* dummy.java */
class C {
private int i;
public C() {
i = 1;
System.out.println("Am in constructor");
}
}
public class dummy {
public static void main(String[] args) {
C[] c = new C[2]; // Line 11
c[0] = new C();
System.out.println(c);
}
}
Run Code Online (Sandbox Code Playgroud)
类型的对象class [LC
在运行后在运行时创建,
C[] c = new C[2]; //Line 11
Run Code Online (Sandbox Code Playgroud)
在上面的代码中。class [LC
是类的直接子Object
类。在上面的代码中c
运行后,引用变量指向这个对象(如下图红色边界所示)Line 12
。引用变量位于堆栈中,类型的对象class …
以下是我遇到的三种线程模型。基于以下 3 种架构,我对新的理解是,除了作为 POSIX.1C 的一部分引入的用户线程之外,还存在称为内核线程的东西
这是1-1模型
这是N-1模型。
这是混合模型。
我已经解决了许多关于内核线程的问题。这看起来是更相关的链接以供澄清。
在进程级别,对于Linux加载器加载的每个用户进程(例如),内核不会分配相应的内核进程来执行用户进程提出的机器指令。用户进程仅在需要内核模块的功能时才请求内核模式执行[如 malloc()/fork()]。用户进程的调度由操作系统调度程序完成并分配CPU核心。
例如,用户进程不需要内核执行模式来执行指令
a=a+2;//a is my local variable in a user level C function
我的问题:
1)那么,内核级线程的目的是什么?为什么操作系统需要为用户级进程的相应用户线程(另外)维护一个内核线程?用户模式程序员是否可以通过编程控制为给定用户进程选择上述三种线程模型中的任何一种?
在我理解第一个问题的答案后,一个相关的补充是,
2)内核线程实际上是由操作系统调度程序而不是用户线程调度的吗?
有了这个jdk代码../java/lang/Override.java
,
package java.lang;
import java.lang.annotation.*;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}
Run Code Online (Sandbox Code Playgroud)
只有注释声明,java编译器足够智能检测错误(编译时):
The method toString123() of type Example must override or implement a supertype method
在下面的问题代码中.
package annotationtype;
public class Example {
@Override public String toString() {
return "Override the toString() of the superclass";
}
@Override public String toString123() {
return "Override the toString123() of the superclass";
}
public static void main(String[] args) {
}
}
Run Code Online (Sandbox Code Playgroud)
Override
刚刚被编译到的注释声明,
interface java.lang.Override extends java.lang.annotation.Annotation{
}
Run Code Online (Sandbox Code Playgroud)
这不过是一个interface
.
所以, …
angular.element($0).scope()
给$$ChildScope
,$$childHead
和$$childTail
作为成员。
在调试时,$$childHead
并$$childTail
显示直接子作用域。
什么$$ChildScope
意味着什么?
正如 TypeScript手册中提到的:
TypeScript 的核心原则之一是类型检查侧重于值的形状。这有时被称为“鸭子类型”或“结构子类型”。在 TypeScript 中,接口扮演着命名这些类型的角色,...
我的理解是,上述核心原则与Duck 类型无关,而是与结构类型有关,因为 TypeScript 是静态类型语言。
正如维基中提到的:它要求类型检查推迟到运行时,并通过动态类型或反射来实现......对象的适用性取决于某些方法和属性(具有适当含义)的存在,而不是对象的实际类型。
如何理解上述TypeScript的核心原理?
javascript type-systems duck-typing structural-typing typescript
以下是 aws sam 的 Dockerfile:
FROM buildpack-deps:stable
ARG PYTHON_VERSION=3.7.4
# Update and allow for apt over HTTPS
RUN apt-get update && \
apt-get install -y apt-utils
RUN apt-get install -y apt-transport-https
# download and build Python 3.7, install basic Python libraries
# (this predates pipenv so a mixture of dependencies)
ADD requirements.txt /requirements.txt
RUN cd /usr/src && \
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
./configure --enable-optimizations && \
make altinstall && \
apt-get …
Run Code Online (Sandbox Code Playgroud) 在一个容器中,
可以创建匿名卷
使用语法( VOLUME /build
)Dockerfile
或者
下面的语法volumes
有/build
条目
cache:
build: ../../
dockerfile: docker/dev/Dockerfile
volumes:
- /tmp/cache:/cache
- /build
entrypoint: "true"
Run Code Online (Sandbox Code Playgroud)
我的理解是,两种方法(以上)都/build
可以在容器进入Exited
状态后使卷可用。
卷是匿名的,因为/build
指向/var/lib/docker/volumes
docker 主机中的一些随机新位置(在目录中)
我看到匿名卷比命名卷更安全(如/tmp/cache:/cache
)。
因为/tmp/cache
位置很容易受到攻击,因为这个位置被多个 docker 容器使用的可能性更大。
1)
为什么不鼓励使用匿名卷?
2)
是
VOLUME /build
在 Dockerfile
不一样
volumes:
- /build
Run Code Online (Sandbox Code Playgroud)
在docker-compose.yml
文件中?是否有一种情况,我们需要同时提及两者?
在下面的 docker-compose 文件中:
version: '2'
networks:
network1:
name: my-net
driver: bridge
external: true
Run Code Online (Sandbox Code Playgroud)
财产意味着什么external
?
kind:ClientConfig
存储在.kube/config
yaml 中,如下所示:
kind: ClientConfig
apiVersion: authentication.gke.io/v2alpha1
spec:
name: dev-corp
server: https://10.x.x.x:443
certificateAuthorityData: ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
authentication:
- name: oidc
oidc:
clientID: aaaaad3-9aa1-33c8-dd0-ddddd6b5bf5
clientSecret: ccccccccccccccccc-
issuerURI: https://login.microsoftonline.com/aaaa92-aab7-bbfa-cccf-ddaaaaaaaa/v2.0
kubectlRedirectURI: http://localhost:12345/callback
cloudConsoleRedirectURI: http://console.cloud.google.com/kubernetes/oidc
scopes: offline_access,profile
userClaim: upn
userPrefix: '-'
groupsClaim: groups
preferredAuthentication: oidc
Run Code Online (Sandbox Code Playgroud)
对于 kubectl,以上配置用作:
$ gcloud components install kubectl
All components are up to date.
$
$ kubectl oidc login --login-config ~/.kube/config --cluster dev-crop
Run Code Online (Sandbox Code Playgroud)
进行身份验证,然后与集群通信(如下所示):
kubectl get ns
Run Code Online (Sandbox Code Playgroud)
kubectl
也是基于 GoLang 的工具,它能够加载配置--login-config
然后进行身份验证。
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"22+", …
Run Code Online (Sandbox Code Playgroud) docker ×3
dockerfile ×2
java ×2
angularjs ×1
annotations ×1
arrays ×1
aws-sam ×1
aws-sam-cli ×1
c ×1
css ×1
duck-typing ×1
gcloud ×1
go ×1
html ×1
java-8 ×1
javascript ×1
kernel ×1
kubectl ×1
linux-kernel ×1
new-operator ×1
object ×1
runtime ×1
type-systems ×1
typescript ×1