Mojave intellij 2019.02/chrome/wifi 응답없음 현상

OSX버전의 intellij 2019.2 에서 발생

증상

  1. WIFI 접속 불가
  2. Chrome 응답없음
  3. intellij 응답없음
  4. 시스템 응답없음

시스템/주요 SW Version

  • MacBook Pro (15-inch, 2017)

    • Mojave 10.14.6
  • Chrome : 76.0.3809.100(공식 빌드) (64비트)

  • intellij : 2019.2

해결 방법

$ sudo rm -rf /usr/bin/git
$ brew install git

Operation not Permitted 으로 삭제 안될시 해결방법

SIP(System Integrity Protection; 시스템통합보안) 기능을 끄고 삭제하면 됩니다.

  1. 재부팅 후 CMD + R을 누르고 있으면 Recovery 화면으로 진입

  2. 상단 메뉴에서 터미널 선택

    $ csrutil disable
    $ reboot
  3. 재부팅후 위 해결 방법 실행

    $ sudo rm \-rf /usr/bin/git 
    $ brew install git
Posted by 다인,보리아빠
,

StringBuffer vs StringBuilder 성능 및 재사용

StringBuffer와 StringBuilder를 사용했을때 매객체생성과 기존 객체 재사용등의 방법으로 몇가지 돌려보고 시간을 뽑아 보았습니다.

결론부터 이야기하면 상황에 따라 다르긴 하지만 결론은

동기화가 필요한 경우 StringBuffer을 새로운 객체를 생성하는 것이 빠름.

동기화가 필요없는 경우 StringBuilder를 이용하여 setLength(0)을 이용하여 처리하는 것이 성능과 메모리 사용면에서 좋음.

테스트 코드

아래 기본 코드에서 StringBuffer와 StringBuilder를 테스트 하였음.

매 Loop에서 새로운 객체

        LocalTime startTime = LocalTime.now();

for(int i=0;i<100_000_000;i++){
StringBuffer sb = new StringBuffer();
for(int j=0;j<100;j++){
sb.append(j);
}
sb.toString();
}

LocalTime endtTime = LocalTime.now();
Duration duration = Duration.between(startTime, endtTime);
System.out.println(duration.getSeconds());

// StringBuffer : 107, j가 30일떄 : 34
// StringBuilder : 92, j가 30일떄 : 27

매 Loop에서 new StringBuffer(sb.length())

        LocalTime startTime = LocalTime.now();
StringBuffer sb = new StringBuffer();

for(int i=0;i<100_000_000;i++){
for(int j=0;j<100;j++){
sb.append(j);
}
sb.toString();
sb = new StringBuffer(sb.length());
}

LocalTime endtTime = LocalTime.now();
Duration duration = Duration.between(startTime, endtTime);
System.out.println(duration.getSeconds());
// StringBuffer : 104, j가 30일떄 : 35
// StringBuilder : 82, j가 30일떄 : 23
// sb = new StringBuilder(sb.capacity()); : 85, j가 30일떄 : 23

매 Loop에서 버퍼 사이즈 변경으로 인해 재사용 (sb.setLength(0);)

        LocalTime startTime = LocalTime.now();
StringBuffer sb = new StringBuffer();
for(int i=0;i<100_000_000;i++){
for(int j=0;j<100;j++){
sb.append(j);
}
sb.toString();
            sb.setLength(0);
}

LocalTime endtTime = LocalTime.now();
Duration duration = Duration.between(startTime, endtTime);
System.out.println(duration.getSeconds());
// StringBuffer : 264, J가 30일떄 : 75
// StringBuilder : 78, J가 30일떄 : 22

Posted by 다인,보리아빠
,


아래와 같이 에러가 나는 경우

Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector]

원인 : 순환참조 문제.

조치 :

tomcat container path에 해당하는 conf/catalina.properties

org.apache.catalina.startup.ContextConfig.jarsToSkip=bcprov*.jar

bcprov*.jar 추가.

로그전체.

java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
12월 20, 2017 2:31:56 오후 org.apache.catalina.core.AprLifecycleListener init
심각: An incompatible version 1.1.31 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32
12월 20, 2017 2:31:56 오후 org.apache.catalina.core.AprLifecycleListener init
심각: An incompatible version 1.1.31 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32
12월 20, 2017 2:31:56 오후 org.apache.catalina.core.AprLifecycleListener init
심각: An incompatible version 1.1.31 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32
12월 20, 2017 2:31:56 오후 org.apache.catalina.core.AprLifecycleListener init
심각: An incompatible version 1.1.31 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32
12월 20, 2017 2:31:56 오후 org.apache.catalina.core.AprLifecycleListener init
심각: An incompatible version 1.1.31 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32
12월 20, 2017 2:31:57 오후 org.apache.coyote.AbstractProtocol init
정보: Initializing ProtocolHandler ["http-bio-8080"]
12월 20, 2017 2:31:57 오후 org.apache.coyote.AbstractProtocol init
정보: Initializing ProtocolHandler ["ajp-bio-8019"]
12월 20, 2017 2:31:57 오후 org.apache.catalina.startup.Catalina load
정보: Initialization processed in 404 ms
12월 20, 2017 2:31:57 오후 org.apache.catalina.core.StandardService startInternal
정보: Starting service Catalina
12월 20, 2017 2:31:57 오후 org.apache.catalina.core.StandardEngine startInternal
정보: Starting Servlet Engine:
12월 20, 2017 2:31:58 오후 org.apache.catalina.core.ContainerBase startInternal
심각: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
      at java.util.concurrent.FutureTask.report(FutureTask.java:122)
      at java.util.concurrent.FutureTask.get(FutureTask.java:192)
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
      at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
      ... 6 more
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector]
      at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2126)
      at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2072)
      at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1947)
      at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1913)
      at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1898)
      at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1330)
      at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)
      at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)

Posted by 다인,보리아빠
,