728x90
반응형

java 178

“Big O”표기법에 대한 일반적인 영어 설명

질문 : “Big O”표기법에 대한 일반적인 영어 설명은 무엇입니까? 가능한 한 적은 형식적인 정의와 간단한 수학을 선호합니다. 답변 참고로, 이것은 Big O 표기법 (상한)과 Theta 표기법 "Θ"(양면 경계)를 거의 확실히 혼동합니다. 제 경험상, 이것은 실제로 비 학문적 인 환경에서의 일반적인 토론입니다. 혼란을 드려 죄송합니다. Big O 복잡성은 다음 그래프로 시각화 할 수 있습니다. Big-O 표기법에 대해 줄 수있는 가장 간단한 정의는 다음과 같습니다. Big-O 표기법은 알고리즘의 복잡성을 상대적으로 표현한 것입니다. 그 문장에는 몇 가지 중요하고 의도적으로 선택된 단어가 있습니다. 상대 : 사과와 사과 만 비교할 수 있습니다. 산술 곱셈을 수행하는 알고리즘을 정수 목록을 정렬하는 알고..

Java에서 일반 유형의 인스턴스를 만드는 방법

질문 : Java에서 일반 유형의 인스턴스를 만드시겠습니까? Java에서 제네릭 유형의 인스턴스를 만들 수 있습니까? no ( type erasure로 인해) 라는 것을 본 것을 기반으로 생각하고 있지만 누군가 내가 놓친 것을 볼 수 있다면 관심이있을 것입니다. class SomeContainer { E createContents() { return what??? } } 편집 : Super Type Tokens를 사용하여 내 문제를 해결할 수 있지만 아래 답변 중 일부에서 알 수 있듯이 많은 반사 기반 코드가 필요합니다. Ian Robertson의 Artima Article 과 극적으로 다른 것을 생각해내는 사람이 있는지 확인하기 위해 잠시이 내용을 열어 두겠습니다. 답변 당신이 올바른지. new E()..

Java Map의 각 항목을 효율적으로 반복하는 방법

질문 : Java Map의 각 항목을 어떻게 효율적으로 반복합니까? Map 인터페이스를 구현하는 객체가 있고 그 안에 포함 된 모든 쌍을 반복하려는 경우 가장 효율적인지도 탐색 방법은 무엇입니까? 요소의 순서는 인터페이스에 대한 특정 맵 구현에 따라 달라 집니까? 답변 Map map = ... for (Map.Entry entry : map.entrySet()) { System.out.println(entry.getKey() + "/" + entry.getValue()); } On Java 10+: for (var entry : map.entrySet()) { System.out.println(entry.getKey() + "/" + entry.getValue()); } 출처 : https://stack..

JavaScript에서 배열 요소 삭제 - delete vs splice

질문 : JavaScript에서 배열 요소 삭제 - delete vs splice Array.splice 메서드를 사용하는 것과 반대로 배열 요소 에서 delete 연산자 를 사용하는 것의 차이점은 무엇입니까? 예를 들면 : myArray = ['a', 'b', 'c', 'd']; delete myArray[1]; // or myArray.splice (1, 1); 객체로 할 수있는 것처럼 배열 요소를 삭제할 수 있는데 왜 splice 방법이 있습니까? 답변 delete 는 객체 속성을 삭제하지만 배열을 다시 인덱싱하거나 길이를 업데이트하지 않습니다. 이렇게하면 정의되지 않은 것처럼 보입니다. > myArray = ['a', 'b', 'c', 'd'] ["a", "b", "c", "d"] > delete..

Java에서 배열을 선언하고 초기화하는 방법

질문 : Java에서 배열을 선언하고 초기화하는 방법은 무엇입니까? Java에서 배열을 선언하고 초기화하는 방법은 무엇입니까? 답변 배열 선언 또는 배열 리터럴을 사용할 수 있습니다 (하지만 변수를 선언하고 즉시 영향을 미치는 경우에만 배열 리터럴을 배열 재 할당에 사용할 수 없습니다). 기본 유형의 경우 : int[] myIntArray = new int[3]; int[] myIntArray = {1, 2, 3}; int[] myIntArray = new int[]{1, 2, 3}; // Since Java 8. Doc of IntStream: https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html int [] myIntArr..

목록 초기화 방법<String> Java의 개체?

질문 : 목록 초기화 방법 Java의 개체? 다음 코드와 같이 목록을 초기화 할 수 없습니다. List supplierNames = new List(); supplierNames.add("sup1"); supplierNames.add("sup2"); supplierNames.add("sup3"); System.out.println(supplierNames.get(1)); 다음과 같은 오류가 발생합니다. List 유형을 인스턴스화 할 수 없습니다. List 어떻게 인스턴스화 할 수 있습니까? 답변 List 용 API 를 확인하면 다음과 같이 표시됩니다. Interface List interface 라는 것은 인스턴스화 할 수 없음을 의미합니다 ( new List() 는 가능하지 않음). 해당 링크를 확인하..

Unix 타임 스탬프를 JavaScript의 시간으로 변환

질문 : Unix 타임 스탬프를 JavaScript의 시간으로 변환MySQL 데이터베이스에 Unix 타임 스탬프로 시간을 저장하고 있으며 일부 JavaScript 코드로 전송됩니다. 시간을 어떻게 얻을 수 있습니까?예를 들어 HH/MM/SS 형식입니다.답변 let unix_timestamp = 1549312452 // Create a new JavaScript Date object based on the timestamp // multiplied by 1000 so that the argument is in milliseconds, not seconds. var date = new Date(unix_timestamp * 1000); // Hours part from the timestamp var hou..

JavaScript에서 임의의 문자열 / 문자 생성

질문 : JavaScript에서 임의의 문자열 / 문자 생성 [a-zA-Z0-9] 세트에서 무작위로 선택한 문자로 구성된 5 개의 문자열을 원합니다. JavaScript로이를 수행하는 가장 좋은 방법은 무엇입니까? 답변 나는 이것이 당신을 위해 일할 것이라고 생각합니다. function makeid(length) { var result = []; var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; var charactersLength = characters.length; for ( var i = 0; i < length; i++ ) { result.push(characters.charAt(Math.floor(..

Android 기기를 진동시키는 방법

질문 : Android 기기를 진동시키는 방법은 무엇입니까? 다른 주파수로? Android 애플리케이션을 작성했습니다. 이제 특정 동작이 발생하면 장치가 진동하도록 만들고 싶습니다. 어떻게 할 수 있습니까? 답변 시험: import android.os.Vibrator; ... Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); // Vibrate for 500 milliseconds if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { v.vibrate(VibrationEffect.createOneShot(500, VibrationEffect.DEFAULT_AMPLITUDE)); } else ..

Java에서 사용할 수있는 Gradle의 변수를 선언

질문 : Java에서 사용할 수있는 Gradle의 변수를 선언 할 수 있습니까? Java에서 사용할 수있는 Gradle의 변수를 선언 할 수 있습니까? 기본적으로 build.gradle에 일부 변수를 선언하고 빌드 타임에 (분명히) 가져오고 싶습니다. C / C ++의 전 처리기 매크로처럼 ... 선언의 예는 다음과 같습니다 ... : android { debug { A_VAR_RETRIEVABLE_IN_JAVA = 42 } release { A_VAR_RETRIEVABLE_IN_JAVA = 42+52 } } 그런 식으로 할 수있는 방법이 있습니까? 답변 다음은 Java에서 사용하기 위해 Gradle에서 값을 전달하는 두 가지 방법입니다. Java 상수 생성 android { buildTypes { de..

Java에서 getPath (), getAbsolutePath () 및 getCanonicalPath ()의 차이점

질문 : Java에서 getPath (), getAbsolutePath () 및 getCanonicalPath ()의 차이점은 무엇입니까? Java에서 getPath() , getAbsolutePath() 및 getCanonicalPath() 의 차이점은 무엇입니까? 그리고 언제 각각을 사용합니까? 답변 다음 파일 이름을 고려하십시오. C:\temp\file.txt 경로, 절대 경로 및 표준 경로입니다. .\file.txt 경로입니다. 절대 경로도 표준 경로도 아닙니다. C:\temp\myapp\bin\..\\..\file.txt 경로 및 절대 경로입니다. 표준 경로가 아닙니다. 표준 경로는 항상 절대 경로입니다. 경로에서 표준 경로로 변환하면 절대 경로가됩니다 (보통 현재 작업 디렉토리에 고정되므로 ...

Java Vector (및 Stack) 클래스가 더 이상 사용되지 않거나 더 이상 사용되지 않는 이유

질문 : Java Vector (및 Stack) 클래스가 더 이상 사용되지 않거나 더 이상 사용되지 않는 이유는 무엇입니까?Java Vector가 더 이상 사용되지 않거나 폐기 된 레거시 클래스로 간주되는 이유는 무엇입니까?동시성으로 작업 할 때 사용이 유효하지 않습니까?그리고 객체를 수동으로 동기화하고 싶지 않고 기본 배열의 새 복사본을 만들 필요없이 스레드로부터 안전한 컬렉션을 사용하려는 경우 ( CopyOnWriteArrayList Vector 를 사용하는 것이 좋습니까?Vector 의 하위 클래스 인 Stack 은 어떻습니까? 대신 무엇을 사용해야합니까?답변Vector 는 각 개별 작업에서 동기화됩니다. 그것은 당신이하고 싶은 일이 거의 없습니다.일반적으로 전체 작업 시퀀스를 동기화하려고합니다. ..

자바 list에서 요소를 제거하려고 할 때 UnsupportedOperationException이 발생하는 이유

질문 : 목록에서 요소를 제거하려고 할 때 UnsupportedOperationException이 발생하는 이유는 무엇입니까? 이 코드가 있습니다. public static String SelectRandomFromTemplate(String template,int count) { String[] split = template.split("|"); List list=Arrays.asList(split); Random r = new Random(); while( list.size() > count ) { list.remove(r.nextInt(list.size())); } return StringUtils.join(list, ", "); } 나는 이것을 얻는다 : 06-03 15:05:29.614: ERR..

Eclipse : 자동 서식을 위한 최대 줄 길이를 설정하는 방법

질문 : Eclipse : 자동 서식을위한 최대 줄 길이를 설정 하시겠습니까? Java로 작업하고 있습니다. Eclipse Helios에서 Ctrl + Shift + F 를 누르면 코드 형식이 자동으로 지정됩니다. 특정 지점에서 줄을 감습니다. 최대 라인 길이를 늘리고 싶습니다. 어떻게 할 수 있습니까? 답변 환경 설정 Java-> 코드 스타일-> 포맷터 에서 프로파일을 편집하십시오. 줄 바꿈 탭 아래에 선 너비에 대한 기본 옵션이 있습니다 (최대 줄 너비 :). 주석 탭에는 주석에 대한 최대 행 너비 : 라는 별도의 옵션이 있으며 주석 줄 바꿈에 영향을 미치려면 변경해야합니다. [Built-in] 항목 중 하나를 사용하는 경우 이러한 변경 사항을 적용하려면 자신의 프로필을 만들어야합니다. 포맷터 기본 ..

Spring Framework에서 @Inject와 @Autowired의 차이점

질문 : Spring Framework에서 @Inject와 @Autowired의 차이점은 무엇입니까? 어떤 조건에서 어떤 것을 사용할까요?SpringSource에 대한 일부 블로그를 살펴보고 블로그 중 하나에서 저자는 @Inject @Autowired 도 사용할 수 있다고 가정합니다.다음은 코드입니다.@Inject private CustomerOrderService customerOrderService;@Inject 와 @Autowired 의 차이점에 대해 잘 모르겠으며 누군가가 차이점을 설명하고 어떤 상황에서 어떤 것을 사용할 것인지 설명하면 감사하겠습니다.답변javax.inject.Inject 주석을 참조한다고 가정합니다. @Inject 자바 CDI (의 일부 컨텍스트 및 의존성 주입 표준 Java ..

SpringData JPA에서 CrudRepository와 JpaRepository 인터페이스의 차이점

질문 : SpringData JPA에서 CrudRepository와 JpaRepository 인터페이스의 차이점은 무엇입니까?SpringData JPA 에서 CrudRepository 와 JpaRepository 인터페이스의 차이점은 무엇입니까?웹에서 예제를 보면 서로 바꿔서 사용하는 것을 볼 수 있습니다.그들 사이의 차이점은 무엇입니까?왜 다른 것을 사용하고 싶습니까?답변JpaRepository 확장하여 PagingAndSortingRepository 를 확장 CrudRepository .주요 기능은 다음과 같습니다.CrudRepository 주로 CRUD 기능을 제공합니다.PagingAndSortingRepository 는 페이지 매김 및 레코드 정렬을 수행하는 방법을 제공합니다.JpaReposito..

자바 스크립트의 함수 오버로딩-모범 사례

질문 : 자바 스크립트의 함수 오버로딩-모범 사례Javascript에서 함수 오버로딩을 가짜로 만드는 가장 좋은 방법은 무엇입니까?다른 언어에서와 같이 Javascript에서 함수를 오버로드 할 수 없다는 것을 알고 있습니다. foo(x) 와 foo(x,y,z) 두 가지를 사용하는 함수가 필요한 경우 가장 좋은 / 선호하는 방법입니다.답변매개 변수로 함수 오버로딩을 수행하는 가장 좋은 방법은 인수 길이나 유형을 확인하지 않는 것입니다. 유형을 확인하면 코드가 느려지고 배열, 널, 객체 등의 재미가 있습니다.대부분의 개발자는 자신의 메서드에 대한 마지막 인수로 객체를 지정합니다. 이 물체는 무엇이든 담을 수 있습니다.function foo(a, b, opts) { // ... if (opts['test']..

스택 추적을 잃지 않고 Java에서 예외 다시 던지기

질문 : 스택 추적을 잃지 않고 Java에서 예외 다시 던지기C #에서는 throw; 스택 추적을 유지하면서 예외를 다시 발생시키는 명령문 :try { ... } catch (Exception e) { if (e is FooException) throw; } Java에 이와 같은 것이 있습니까 ( 원래 스택 추적을 잃지 않음 )?답변catch (WhateverException e) { throw e; } 잡은 예외를 단순히 다시 던질 것입니다 (분명히 주변 메서드는 서명 등을 통해이를 허용해야합니다). 예외는 원래 스택 추적을 유지합니다.출처 : https://stackoverflow.com/questions/1097527/rethrowing-exceptions-in-java-without-losing-..

Maven을 사용하여 종속성이 있는 실행 가능한 JAR을 만드는 방법

질문 : Maven을 사용하여 종속성이있는 실행 가능한 JAR을 어떻게 만들 수 있습니까? 배포를 위해 단일 실행 가능한 JAR로 프로젝트를 패키징하고 싶습니다. Maven 프로젝트 패키지를 모든 종속성 JAR을 출력 JAR로 만들려면 어떻게해야합니까? 답변 maven-assembly-plugin fully.qualified.MainClass jar-with-dependencies maven-2build-processbuild-automationexecutable-jar 그리고 당신은 그것을 실행 mvn clean compile assembly:single 컴파일 목표는 어셈블리 전에 추가해야합니다. 단일 또는 그렇지 않으면 자체 프로젝트의 코드가 포함되지 않습니다. 댓글에서 자세한 내용을 확인하세요. ..

개발툴/Maven 2021.06.08

검색 메서드 'null'을 return VS return값을 생성 할 수 없을 때 예외를 throw

질문 : 검색 메서드가 'null'을 return해야합니까? 아니면 return값을 생성 할 수 없을 때 예외를 throw해야합니까? 나는 자바 언어를 사용하고 있는데, 발견되면 객체를 반환해야하는 메서드가 있습니다. 찾을 수없는 경우 다음을 수행해야합니다. 모범 사례 또는 관용구는 무엇입니까? return null throw an exception other 답변 항상 값을 찾을 것으로 예상하는 경우 누락 된 경우 예외를 throw합니다. 예외는 문제가 있음을 의미합니다. 값이 누락되거나 존재할 수 있고 둘 다 응용 프로그램 논리에 유효한 경우 null을 반환합니다. 더 중요한 점 : 코드에서 다른 부분은 무엇을합니까? 일관성이 중요합니다. 출처 : https://stackoverflow.com/que..

Maven에서 인코딩을 구성하는 방법

질문 : Maven에서 인코딩을 구성하는 방법은 무엇입니까? maven install 을 실행하면 항상 다음과 같은 출력이 나타납니다. [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent! 그래서 나는 약간 봤지만 내가 찾을 수있는 것은 내가 추가해야한다는 것뿐입니다. UTF-8 ... 내 pom.xml에. 그러나 이미 거기에 있습니다 (부모 pom.xml ). maven-resources-plugin 또는 maven-compiler-plugin에 대해 을 구성해도 문제가 해결되지 않습니다. 그래서 무엇이 문제입니까? 답변 네, 문제를 찾았습니다. 일부보고 플러그인을 ..

개발툴/Maven 2021.06.05

build.gradle 파일에 로컬 .jar 파일 종속성을 추가하는 방법

질문 : build.gradle 파일에 로컬 .jar 파일 종속성을 추가하는 방법은 무엇입니까? 그래서 내 build.gradle 파일에 로컬 .jar 파일 종속성을 추가하려고했습니다. apply plugin: 'java' sourceSets { main { java { srcDir 'src/model' } } } dependencies { runtime files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar') runtime fileTree(dir: 'libs', include: '*.jar') } 여기에서 .jar 파일을 referencedLibraries 폴더에 추가 한 것을 볼 수 있습니다. https://github.com/WalnutiQ/wAlnut/tree..

개발툴/Gradle 2021.06.05

JUnit 4 테스트에서 특정 예외가 발생할 때

질문 : JUnit 4 테스트에서 특정 예외가 발생한다고 어떻게 주장합니까? 일부 코드에서 예외가 발생하는지 테스트하기 위해 JUnit4를 관용적으로 어떻게 사용할 수 있습니까? 확실히 다음과 같이 할 수 있습니다. @Test public void testFooThrowsIndexOutOfBoundsException() { boolean thrown = false; try { foo.doStuff(); } catch (IndexOutOfBoundsException e) { thrown = true; } assertTrue(thrown); } 나는 훨씬 덜 미봉책 훨씬 더 - 더 - 정신 상황의 이러한 종류에 대한의 JUnit입니다 주석 또는 Assert.xyz 또는 뭔가가 있다는 것을 기억합니다. 답변 ..

한 줄로 ArrayList 초기화

질문 : 한 줄로 ArrayList 초기화 테스트 목적으로 옵션 목록을 만들고 싶었습니다. 처음에는 이렇게했습니다. ArrayList places = new ArrayList(); places.add("Buenos Aires"); places.add("Córdoba"); places.add("La Plata"); 그런 다음 코드를 다음과 같이 리팩토링했습니다. ArrayList places = new ArrayList( Arrays.asList("Buenos Aires", "Córdoba", "La Plata")); 이 작업을 수행하는 더 좋은 방법이 있습니까? 답변 ArrayList 를 초기화하는 "가장 좋은"방법은 어떤 식 으로든 List 를 만들 필요가 없기 때문에 작성한 메서드 일 것입니다. Ar..

[JAVA] 자바의 제네릭 Generic

Object 타입을 파라미터로 갖는 경우 모든 데이터타입을 전달받을 수 있고 모든 객체를 전달할 수 있기 때문에 데이터 저장 시 편리함 그러나, 객체를 꺼내서 사용해야할 경우 형변환이 필요하며 잘못된 변환 수행 시 ClassCastException 이 발생할 수도 있다 class Toy { String toyName; } class Icecream { String icecreamName; } class NormalBox { Object item; public NormalBox() {} public NormalBox(Object item) { this.item = item; } public Object getItem() { return item; } public void setItem(Object item..

728x90
반응형