0%

今天先更改了 idea64.exe.vmoptions 这个配置文件

一直么有重启,后来就安装了个插件重启一下,结果就泪崩了

一直出现这个错误
IDEA failed to create jvm:error code -1,jvm:error code -1
总以为是环境变量配置的问题,或者是文件损坏了什么

重启,重装jdk,重新配置什么都试过,不管用。

后来替换了配置文件就好了!!!

解决方案

配置文件路径:

1
2
3
\IDEA HOME\bin\idea64.exe.vmoptions
或者
\IDEA HOME\bin\idea.exe.vmoptions

默认配置文件内容如下:

32bit

1
2
3
4
5
6
7
8
9
10
11
-server
-Xms128m
-Xmx512m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-DJava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

64bit

1
2
3
4
5
6
7
8
9
10
-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-DJava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

by the way:

IDEA 写博客真是舒服啊~

完全不用切换来切换去的!

count函数的作用

想要真正的理解count函数,我们就必须明白count函数的作用。

作用一:统计某一列非空(not null)值得数量,即统计某列有值得结果数,使用count(col)。

作用二:统计结果集的行数,此时不用管某列是否为null值。即使用count(*).

明白了这点,我们就应该知道MySQL的count(*)并不是想象中的那样,统计每一列的值,而是直接忽视掉所有列,直接统计行数,那么它的效率肯定是很高的。

但是有一点,当col指定了该字段为NOT NULL时实际上,MySQL会自动将count(col)转为count(*),但是这样也同样耗费了些时间,如果col没有指定为NOT NULL的话,那么效率就更低了,MySQL就必须要判断每一行的值是否为空。

所以综上所述,如果是要统计行数最好优先使用select count(*)

当统计某一列等于多少的值得时候可以使用下面两种方法:

1
2
SELECT SUM(IF(id = 23,1,0)) FROM table 
SELECT COUNT(id = 23 OR NULL) FROM table

今天偶然看到有人说用idea写博客

刚开始我觉得这样会很麻烦,后来想想以前写博客也是醉了

先新建一个 _post 的快捷方式

进去,然后到博客根目录

打开Git Bash,然后执行

1
hexo n "你要写的文章题目"

然后在 _post 快捷方式打开刚刚新建的markdown文件,用markdownpad打开编辑。。。

编辑完了回到Git Bash。。。。想想就很麻烦


于是乎用IDEA打开博客根目录

1
sources -> _post -> new -> Edit File Templates
Read more »

在Java平台上lombok提供了简单的注解的形式

来帮助我们消除一些必须有但看起来很臃肿的代码

比如属性的get/set,及对象的toString等方法,特别是相对于 POJO;


出现问题

  1. 各种log方法,set方法中红色波浪线
  2. 提示:cannot resolve method xxx
  3. 虽然出现错误但是编译是可以通过的

问题原因

原来的代码用了lombok简单注解
比如maven的pom.xml文件有如下配置

1
2
3
4
5
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.8</version>
</dependency>

解决办法

安装lombok plugin


装完插件之后就舒服了,也不报错

1
failed to read artifact descriptor for xxx:jar

一下午那代码里面是各种报错

凡是引入的大部分都报错

原因就是maven管理的jar没有添加上依赖

最后在stackoverflow找到了良药

上面有图片,错误会详细一点,如果你的也相同,可以试一试

1
maven project -> Execute Maven Goal -> mvn -U clean install

执行以上命令之后等待完成,应该就好了

参考自stackoverflow:点击查看

报错如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
27-Feb-2017 12:53:31.268 严重 [RMI TCP Connection(13)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception invoking method manageApp
Java.lang.IllegalArgumentException: addChild: Child name '/hisen' is not unique
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.Java:738)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.Java:728)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.Java:734)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.Java:1702)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.Java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.Java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.Java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.Java:482)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.Java:431)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.Java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.Java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.Java:801)
at Javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.Java:1487)
at Javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.Java:97)
at Javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.Java:1328)
at Javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.Java:1420)
at Javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.Java:848)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.Java:322)
at sun.rmi.transport.Transport$1.run(Transport.Java:177)
at sun.rmi.transport.Transport$1.run(Transport.Java:174)
at Java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.Java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.Java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.Java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.Java:670)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:615)
at Java.lang.Thread.run(Thread.Java:744)

重要的是:

1
2
org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception invoking method manageApp
Java.lang.IllegalArgumentException: addChild: Child name '/hisen' is not unique

IDEA解决办法

Project Structure -> Artifacts

查看里面是否有配置相同的Artifacts

删除即可

可以使用ps命令。
它能显示当前运行中进程的相关信息,包括进程的PID。

Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息。

ps命令能提供一份当前进程的快照。如果想状态可以自动刷新,可以使用top命令。

ps命令

输入下面的ps命令,显示所有运行中的进程:

1
ps aux | less

这个命令按 q 退出
后面加了“| less”就会分页显示,如果去掉会一次性显示出所有结果

输出:

Read more »

目前的形式来说Java后台市场还是挺大,虽然也有很多python和php的系统。

要想从事企业级的项目开发,你必须掌握如下要点:

  1. 掌握项目开发的基本步骤
  2. 具备极强的面向对象的分析与设计技巧
  3. 掌握用例驱动、以架构为核心的主流开发方法

没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,

别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!

你必须学会从整个项目的角度去思考!

你必须学会假如你是项目经理,你该如何思考!

你必须学会假如你是架构师,你该如何思考!

你必须掌握针对某个特定问题领域的分析方法!

关于基础知识:

Read more »

一、安装

1
sudo apt-get install zookeeper

默认信息

1
2
3
4
#安装路径
/usr/share/zookeeper
#配置文件
/etc/zookeeper/conf/zoo.cfg

二、启动服务端

Read more »