Java 149

지정된 문자열의 모든 순열 생성

지정된 문자열의 모든 순열 생성 끈의 모든 배열을 찾는 우아한 방법은 무엇일까요?예: 치환ba,되지요ba그리고.ab단, 다음과 같은 긴 문자열은 어떨까요?abcdefgh자바 구현 예가 있습니까?public static void permutation(String str) { permutation("", str); } private static void permutation(String prefix, String str) { int n = str.length(); if (n == 0) System.out.println(prefix); else { for (int i = 0; i < n; i++) permutation(prefix + str.charAt(i), str.substring(0, i) + str.s..

programing 2022.08.07

Spring Security를 사용할 때 빈에서 현재 사용자 이름(Security Context 등) 정보를 얻는 적절한 방법은 무엇입니까?

Spring Security를 사용할 때 빈에서 현재 사용자 이름(Security Context 등) 정보를 얻는 적절한 방법은 무엇입니까? Spring Security를 사용하는 Spring MVC 웹 앱이 있습니다.현재 로그인한 사용자의 사용자 이름을 알고 싶습니다.아래 코드 스니펫을 사용하고 있습니다.이게 통용되는 방법인가요? 스프링 IMHO의 전체 목적을 저버린 컨트롤러 내부의 정적 메서드를 호출하는 것은 좋아하지 않습니다.현재 Security Context 또는 현재 인증을 대신 주입하도록 앱을 구성하는 방법이 있습니까? @RequestMapping(method = RequestMethod.GET) public ModelAndView showResults(final HttpServletReque..

programing 2022.08.07

Java의 String을 사용해야 합니까?퍼포먼스가 중요한 경우 format().

Java의 String을 사용해야 합니까?퍼포먼스가 중요한 경우 format(). 현악기에서는 JDK를 사용하는 .StringBuffer 추가, 세이프) 및 ( 추가, 스레드 세이프)StringBuilder(미국의) 어떻게 하면 좋을까요?String.format()효율이 좋은가요, 아니면 퍼포먼스가 중요한 한 줄짜리 연결 방식을 고집해야 하나요? 예: 못생긴 오래된 스타일, String s = "What do you get if you multiply " + varSix + " by " + varNine + "?"; vs. 깔끔한 새로운 스타일(String).포맷이 느릴 수 있습니다). String s = String.format("What do you get if you multiply %d by %d..

programing 2022.08.07

술어로 첫 번째 요소 찾기

술어로 첫 번째 요소 찾기 Java 8 lamda를 사용하기 시작한 지 얼마 안 되어 기능적인 언어로 익숙한 것을 구현하려고 합니다. 예를 들어, 대부분의 기능적 언어에는 시퀀스 또는 첫 번째 요소를 반환하는 목록으로 동작하는 일종의 검색 함수가 있습니다.trueJava 8에서 이를 실현하는 유일한 방법은 다음과 같습니다. lst.stream() .filter(x -> x > 5) .findFirst() 그러나 필터가 목록 전체를 스캔하기 때문에 비효율적으로 보입니다(적어도 잘못된 것일 수 있습니다).더 좋은 방법이 있을까요? 아니요, 필터는 전체 스트림을 검사하지 않습니다.이것은 느린 스트림을 반환하는 중간 작업입니다(실제로 모든 중간 작업은 느린 스트림을 반환합니다).다음과 같은 테스트를 실시하면 쉽..

programing 2022.08.03

Java Enum 정의

Java Enum 정의 자바 제네릭스를 잘 이해한다고 생각했는데, java.lang에서 다음과 같은 것을 발견했습니다.열거: class Enum 이 타입 파라미터를 해석하는 방법을 설명해 주실 수 있습니까?유사한 유형 매개변수를 사용할 수 있는 다른 예를 제공하기 위한 보너스 포인트입니다.즉, enum의 type 인수는 enum 자체에서 같은 type 인수를 가져야 합니다.어떻게 이런 일이 일어날 수 있을까요?type 인수를 새로운 유형으로 만듭니다.따라서 Status Code라는 열거형이 있으면 다음과 같습니다. public class StatusCode extends Enum 이제 , '는 '우리'가 있어요.Enum - 래 - -E=StatusCode 그럴까?EEnum 를 들어 자체를 할 수 Enum..

programing 2022.08.03

코드의 maven pom.xml에서 버전을 가져옵니다.

코드의 maven pom.xml에서 버전을 가져옵니다. maven's pom.xml에서 코드, 즉 프로그램적으로 버전 번호를 취득하는 가장 간단한 방법은 무엇입니까?Java 를 사용하고 있는 경우는, 다음과 같이 할 수 있습니다. 작성하다.properties( 일반적인)src/main/resources디렉토리(단, 순서 4에서는 다른 곳을 참조하도록 지시할 수 있습니다). 을 설정합니다..properties프로젝트 버전에 대해 표준 Maven 속성을 사용하여 파일을 작성합니다. foo.bar=${project.version} Java 코드에서 속성 파일의 값을 클래스 경로의 리소스로 로드합니다(구글에서 이 작업을 수행하는 방법을 자세히 알아보려면 여기를 참고하십시오). Maven에서 리소스 필터링을 활성..

programing 2022.08.03

Java 코드에서 Unix 쉘 스크립트를 실행하는 방법

Java 코드에서 Unix 쉘 스크립트를 실행하는 방법 Java에서 Unix 명령을 실행하는 것은 매우 간단합니다. Runtime.getRuntime().exec(myCommand); 그러나 Java 코드에서 Unix 쉘 스크립트를 실행할 수 있습니까?그렇다면 Java 코드 내에서 셸 스크립트를 실행하는 것이 좋을까요?프로세스 빌더를 살펴봐야 합니다.이건 정말 이런 종류의 것을 위해 만들어졌습니다. ProcessBuilder pb = new ProcessBuilder("myshellScript.sh", "myArg1", "myArg2"); Map env = pb.environment(); env.put("VAR1", "myValue"); env.remove("OTHERVAR"); env.put("VAR2..

programing 2022.08.03

Java에서 시간 없이 데이트하려면 어떻게 해야 하나요?

Java에서 시간 없이 데이트하려면 어떻게 해야 하나요? 스택 오버플로 질문 Java 프로그램에서 계속하여 타임스탬프 없이 현재 날짜를 가져옵니다. 시간 없이 날짜 개체를 가져오는 가장 효율적인 방법은 무엇입니까?이 두 가지 외에 다른 방법이 있나요? // Method 1 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dateWithoutTime = sdf.parse(sdf.format(new Date())); // Method 2 Calendar cal = Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calend..

programing 2022.08.03

DecimalFormat의 소수점 구분 기호를 쉼표에서 점/점으로 변경하는 방법

DecimalFormat의 소수점 구분 기호를 쉼표에서 점/점으로 변경하는 방법 저는 Big Decimal 값을 읽기 쉬운 문자열로 변환하는 이 작은 미친 방법을 가지고 있습니다. private String formatBigDecimal(BigDecimal bd){ DecimalFormat df = new DecimalFormat(); df.setMinimumFractionDigits(3); df.setMaximumFractionDigits(3); df.setMinimumIntegerDigits(1); df.setMaximumIntegerDigits(3); df.setGroupingSize(20); return df.format(bd); } 그러나, 는 소위 그룹화 구분자를 생성하기도 합니다.","제 모..

programing 2022.08.03

Java 타이머와 Executor Service의 비교

Java 타이머와 Executor Service의 비교 다음을 사용하여 작업을 스케줄링하는 코드가 있다.java.util.Timer주위를 둘러보는데ExecutorService같은 일을 할 수 있다.그래서 여기 이 질문이 있는데, 이 질문에서Timer그리고.ExecutorService작업 스케줄을 설정하기 위해 사용하는 것의 이점은 무엇입니까? 또, 이 제품을 사용한 사람이 있는지 확인해 보고 싶었습니다.Timer수업과 관련된 모든 문제에 부딪혔다.ExecutorService해결했습니다.Java Curcurency in Practice에 따르면: Timer는 시스템 클럭의 변화에 민감할 수 있습니다.ScheduledThreadPoolExecutor그렇지 않아요. Timer에는 실행 스레드가1개밖에 없기 때..

programing 2022.08.01