반응형

2020/12/12 30

JVM GC가 참조 비교 중에 객체를 이동하여 양쪽이 동일한 객체를 참조하더라도 비교가 실패 할 수 있습니까?

JVM GC가 참조 비교 중에 객체를 이동하여 양쪽이 동일한 객체를 참조하더라도 비교가 실패 할 수 있습니까? GC가 때때로 메모리에서 객체를 이동한다는 것은 잘 알려져 있습니다. 그리고 객체가 이동 될 때 (사용자 코드가 호출되기 전에) 모든 참조가 업데이트되는 한, 이것은 완벽하게 안전해야한다는 것을 이해합니다. 그러나 누군가가 참조 비교 중에 GC에 의해 객체가 이동되어 두 참조가 동일한 객체를 참조해야 할 때도 비교가 실패 할 수 있기 때문에 참조 비교가 안전하지 않을 수 있다고 언급하는 것을 보았습니다. 즉, 다음 코드가 "true"를 인쇄하지 않는 상황이 있습니까? Foo foo = new Foo(); Foo bar = foo; if(foo == bar) { System.out.println(..

Programing 2020.12.12

IE에서 "화살표 기능"이 작동하지 않는 이유는 무엇입니까?

IE에서 "화살표 기능"이 작동하지 않는 이유는 무엇입니까? 아래 코드는 IE 11에서 작동하지 않으며 콘솔에서 구문 오류가 발생합니다. g.selectAll(".mainBars").append("text").attr("x",d=>(d.part=="primary"? -40: 40)).attr("y",d=>+6).text(d=>d.key).attr("text-anchor",d=>(d.part=="primary"? "end": "start")); d3.js시각화를 위해 이분 차트 사용 위의 진술에서 문제를 일으키는이 코드 d=>(d.part=="primary"? -40: 40) 화살표 기능을 사용하고 있습니다. IE11은이를 지원하지 않습니다. function대신 함수를 사용하십시오 . 다음은 Babel의 ..

Programing 2020.12.12

다른 CPU 코어에서 스레드를 어떻게 생성합니까?

다른 CPU 코어에서 스레드를 어떻게 생성합니까? WAV 파일 목록을 MP3로 인코딩하는 것과 같이 계산 비용이 많이 드는 작업을 수행하는 C # 프로그램이 있다고 가정 해 보겠습니다. 보통은 파일을 한 번에 하나씩 인코딩하지만 프로그램이 내가 보유한 CPU 코어 수를 파악하고 각 코어에서 인코딩 스레드를 회전시키기를 원한다고 가정 해 보겠습니다. 그래서 제가 쿼드 코어 CPU에서 프로그램을 실행할 때, 프로그램은 그것이 쿼드 코어 CPU라는 것을 알아 내고, 작업 할 4 개의 코어가 있음을 알아 낸 다음 인코딩을위한 4 개의 스레드를 생성합니다. CPU. 어떻게해야합니까? 코어가 여러 물리적 CPU에 분산되어 있다면 이것이 다를까요? 에서처럼 두 개의 쿼드 코어 CPU가있는 컴퓨터가있는 경우 특별한 고..

Programing 2020.12.12

정적 변수 초기화 순서

정적 변수 초기화 순서 C ++는 컴파일 단위 (.cpp 파일)의 변수가 선언 순서대로 초기화되도록 보장합니다. 컴파일 단위의 수에 대해이 규칙은 각각에 대해 개별적으로 작동합니다 (클래스 외부의 정적 변수를 의미 함). 그러나 변수 초기화 순서는 다른 컴파일 단위에서 정의되지 않습니다. gcc 및 MSVC에 대한이 주문에 대한 설명을 어디에서 볼 수 있습니까? ? 당신이 말했듯이 순서는 다른 컴파일 단위에서 정의되지 않습니다. 동일한 컴파일 단위 내에서 순서가 잘 정의되어 있습니다. 정의와 동일한 순서입니다. 이는 언어 수준이 아니라 링커 수준에서 해결되기 때문입니다. 따라서 링커 문서를 확인해야합니다. 나는 이것이 유용한 방법으로 도움이 될 것이라고 정말로 의심하지만. gcc : ld 확인 링크되는 ..

Programing 2020.12.12

Linux에서 로컬 함수 호출을 추적하는 도구

Linux에서 로컬 함수 호출을 추적하는 도구 실행 파일에서 로컬로 정의 된 함수를 추적 할 수있는 ltrace 또는 strace 와 같은 도구를 찾고 있습니다. ltrace는 동적 라이브러리 호출 만 추적하고 strace는 시스템 호출 만 추적합니다. 예를 들어 다음과 같은 C 프로그램이 있습니다. #include int triple ( int x ) { return 3 * x; } int main (void) { printf("%d\n", triple(10)); return 0; } 함께 프로그램을 실행 ltrace에 전화를 보여줄 것이다 printf그 (내 시스템에 동적 라이브러리) 및 표준 라이브러리 함수이기 때문에 strace시작 코드에서 모든 시스템 호출을 표시합니다, 시스템 호출의 print..

Programing 2020.12.12

C #에서는 스레드 안전을 위해 Queue.Synchronized 또는 lock ()을 사용하는 것이 더 낫습니까?

C #에서는 스레드 안전을 위해 Queue.Synchronized 또는 lock ()을 사용하는 것이 더 낫습니까? 스레드로부터 안전한지 확인해야하는 Queue 개체가 있습니다. 다음과 같은 잠금 객체를 사용하는 것이 더 낫습니까? lock(myLockObject) { //do stuff with the queue } 또는 다음과 같이 Queue.Synchronized를 사용하는 것이 좋습니다. Queue.Synchronized(myQueue).whatever_i_want_to_do(); MSDN 문서를 읽음으로써 스레드로부터 안전하도록 Queue.Synchronized를 사용해야한다고 말했지만 잠금 개체를 사용하는 예제를 제공합니다. MSDN 기사에서 : 큐의 스레드 안전성을 보장하려면 모든 작업이이 ..

Programing 2020.12.12

실제로 C ++에서 Private 또는 Protected 상속이 필요한 이유는 무엇입니까?

실제로 C ++에서 Private 또는 Protected 상속이 필요한 이유는 무엇입니까? C ++에서는 기본 클래스에서 private / protected를 상속하고 싶은 경우를 생각할 수 없습니다. class Base; class Derived1 : private Base; class Derived2 : protected Base; 정말 유용합니까? 기본 클래스의 일부 멤버에 액세스하려는 경우 유용하지만 클래스 인터페이스에 노출되지는 않습니다. 개인 상속은 일종의 구성으로도 볼 수 있습니다. C ++ faq-lite 는이 문장을 설명하기 위해 다음 예제를 제공합니다. class Engine { public: Engine(int numCylinders); void start(); // Starts th..

Programing 2020.12.12

.RData 파일에서 데이터를 보는 방법은 무엇입니까?

.RData 파일에서 데이터를 보는 방법은 무엇입니까? 나는 비슷한 질문을 보았고 스스로 해결하려고 노력했지만 할 수 없었습니다. 이것은 내 문제입니다. 다른 계산에서 사용하려면 isfar.RData 파일을로드해야합니다 (여기서 설명하는 데 중요하지 않음). 그리고이 isfar.RData 파일에서 데이터가 어떻게 보이는지보기를 원합니다. 예를 들어 어떤 숫자, 열, 행이 전달되는지. 먼저 파일을로드합니다. isfar

Programing 2020.12.12

마우스로 Three.js에서 카메라 회전

마우스로 Three.js에서 카메라 회전 씬에 꽤 많은 오브젝트가 있으므로 모든 오브젝트를 회전하는 것이 고통 스러울 수 있습니다. 그렇다면 마우스 클릭 및 드래그로 원점 주위로 카메라를 이동하는 가장 쉬운 방법은 무엇입니까? 이렇게하면 장면의 모든 조명, 객체가 동일한 위치에 있으므로 카메라 만 변경됩니다. Three.js는 한 지점을 중심으로 카메라를 회전하는 방법을 제공하지 않습니까? 감사합니다 회전 카메라가있는 프로젝트가 있습니다 . 소스를 살펴보면 카메라 위치를 원으로 이동하는 것 같습니다. function onDocumentMouseMove( event ) { event.preventDefault(); if ( isMouseDown ) { theta = - ( ( event.clientX - ..

Programing 2020.12.12

배경 드로어 블에서 종횡비를 유지하면서 이미지 크기 조정

배경 드로어 블에서 종횡비를 유지하면서 이미지 크기 조정 배경 이미지를 뷰에 맞지만 배경 드로어 블 XML로 사용할 때 종횡비를 유지하려면 어떻게해야 합니까? 중 어느 것도 의 android:gravity값은 원하는 효과를 제공하지 않는다. xml 파일 내에서만 조작 배경 속성을 달성하는 것은 불가능합니다. 두 가지 옵션이 있습니다. 프로그래밍 방식으로 비트 맵을 자르거나 크기를 조정하고 Bitmap.createScaledBitmap(Bitmap src, int dstWidth, int dstHeight, boolean filter)일부 View배경 으로 설정합니다 . ImageView배경 대신 사용 하여 첫 번째 레이아웃의 요소로 배치하고 android:scaleType속성을 지정 합니다. ... re..

Programing 2020.12.12
반응형