zoukankan      html  css  js  c++  java
  • java学习笔记

    2018-10-18

    1、学习java调用javascript引擎执行js代码的方法,看实例:

            String tkk = "var tkk = 'abcde';";
            ScriptEngineManager manager = new ScriptEngineManager();
            ScriptEngine engine = manager.getEngineByName("javascript");
            try {
                return (String) engine.eval(tkk);
            } catch (ScriptException e) {
                e.printStackTrace();
            }

    2、学习java正则提取数据,看示例:

            String str = "asdfadf;TKK='427735.4060570411';sdfasfd";
            String result = str.replaceAll(".*TKK='(.*)';.*", "$1");//提取tkk的值
            return result;

    3、学习使用Maven构建多模块项目

      学习地址:https://www.cnblogs.com/xdp-gacl/p/4242221.html

      需要注意的点:

      1.父模块的pom文件中的<packaging>jar</packaging>改成<packaging>pom</packaging>

      2.父模块中添加<modules></modules>节点,将其它模块引入

      3.子模块添加<parent></parent>节点,表示继承关系

      4.除了webapp保留<packaging>war</packaging>,其它子模块都不需要

      5.如果子模块依赖其它子模块,需要添加对其它子模块的依赖<dependency></dependency>

    4、JDK环境变量配置

      新建->变量名"JAVA_HOME",变量值"C:Javajdk1.8.0_05"(即JDK的安装路径)
      编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%in;%JAVA_HOME%jrein”
      新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar”

    5、配置maven

      maven无需安装,解压即可。只是需要额外的配置下环境变量:M2_HOME,值为:G:javaapache-maven-3.3.9(maven所在目录)。另外需要在PATH环境变量最后加入:“;%M2_HOME%in”

      配好后,直接在cmd命令行:mvn -version,如果出来版本信息,表示配置成功。

    6、eclipse配置maven
      参考地址:https://jingyan.baidu.com/article/59703552cb9b988fc00740a4.html

    7、maven的阿里云镜像

         <mirror>  
          <id>alimaven</id>  
          <name>aliyun maven</name>  
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
          <mirrorOf>central</mirrorOf>          
        </mirror> 

    8、eclipse设置快捷键

      eclipse 设置Java快捷键补全,参考网址:https://blog.csdn.net/shaun_guo/article/details/79122749

      eclipse更改快捷键 Alt + /, 参考网址:https://www.cnblogs.com/shaweng/archive/2013/09/26/3340016.html,我自己改成了K字符

    9、java中可以new一个接口,比如:

            ISay say = new ISay() {          
                public void sayHello() {
                    System.out.println("Hello java!");
                }
            };

      参考网址:http://www.cnblogs.com/yjmyzz/p/3448330.html,说明了真相

    10、eclipse在项目中查找字符串:Ctrl + H 快捷键

    2018-11-02

    11、list集合排序:

                backLexicons = backLexicons.stream().sorted(Comparator
                    .comparing((TranslateLexicon p) -> p.getUseKey())
                    .thenComparing(TranslateLexicon::getKeyName)
                ).collect(Collectors.toList());

      参考网址:https://www.cnblogs.com/zhaopengcheng/p/9462876.html

    12、Map排序:可直接使用TreeMap,天然自带排序

      参考网址:https://www.cnblogs.com/fqfanqi/p/6187085.html

    2018-11-07

    13、阿里的序列化工具,直接将字符串反序列化成需要的对象

      List<TrainNoListWord> rules = JSON.parseObject(config, new TypeReference<List<TrainNoListWord>>(){});

    2018-11-15

    14、在用HttpGet构建请求时,url的查询参数不能带有空格,否则会报异常:Illegal character in query at index...

      HttpGet httpGet = new HttpGet("http://www.x.com?keyword=测 试");

    2018-11-18

    15、eclipse如果运行web项目,还得配置tomcat,参考地址:https://www.cnblogs.com/Leo_wl/p/4769760.html

    16、解决“Dynamic Web Module 3.0 requires Java 1.6 or newer.”,原因竟然是maven的配置里面没有指定jdk版本

      参考地址:https://blog.csdn.net/a724826175/article/details/78630927

    17、阿里云,CentOS环境下tomcat启动超级慢的解决方案

      参考网址:https://yq.aliyun.com/articles/106290?spm=5176.10695662.1996646101.searchclickresult.2e7555bbQ4ULiV

      用的是第二种解决的。

      有两种解决办法:
      1)在Tomcat环境中解决
      可以通过配置JRE使用非阻塞的Entropy Source。
      在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。
      加入后再启动Tomcat,整个启动耗时下降到Server startup in 2912 ms。
      2)【已验证】在JVM环境中解决
      打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:
      securerandom.source=file:/dev/urandom
      替换成
      securerandom.source=file:/dev/./urandom

    18、java利用lambda表达式过滤元素

      trainlist().removeIf(m -> !m.getFmcity().equals(request.getFrom()));

    19、spring应用启动加载自定义类:使用监听器 : ServletContextListener

      具体可以分为两步:
      第一步:写自定义类,实现(implements) ServletContextListener接口。然后要实现接口的两个方法 public void contextDestroyed(ServletContextEvent event)和public void contexInitialized(ServletContextEvent event)。当然我们只需要把我们的业务逻辑写到初始化方法里就可以了。
      第二步:在web.xml中声明这个自定义监听器。
      <listener>
        <listener-class>com.cn.TKong.RegQiListener</listener-class>
      </listener>

    20、eclipse对项目分组,参考地址:https://blog.csdn.net/wxwzy738/article/details/17280913

    21、java读取properties文件的方法:

        /**
         * 根据name获取配置
         * @param name
         * @return
         */
        public static String get(String name) {
            String value = "";
            try {
                Properties prop = new Properties();
                // 读取属性文件
                InputStream in= PropertiesHelper.class.getClassLoader().getResourceAsStream("application.properties");
                prop.load(in); // 加载属性列表
                Iterator<String> it = prop.stringPropertyNames().iterator();
                while (it.hasNext()) {
                    String key = it.next();
                    if (key.equals(name)) {
                        value = prop.getProperty(key);
                        break;
                    }
                }
                in.close();
            } catch (Exception e) {
                System.out.println(e);
            }
            
            return value;
        }

    22、myeclipse调试时变量过长无法完全显示解决办法:

      参考网址:https://blog.csdn.net/enjoy_waste_time/article/details/82664354 

    23、map遍历:

                for (Entry<String, Integer> entry : map.entrySet()) {
                    entry.getKey();
                    entry.getValue();
                    System.out.println("key:" + entry.getKey() + ";value:" + entry.getValue());
                }

    2019-01-04

    24、springmvc 模型校验注意事项:@NotNull 和 @NotEmpty 和@NotBlank 的区别

      @NotEmpty 用在集合类上面
      @NotBlank 用在String上面
      @NotNull 用在基本类型上

      今天在做测试的时候,发现字符串校验不行,原因是使用了NotNull,应该改为NotBlank。

    25、linux种执行jar包的命令

      java -jar shareniu.jar

      参考网址:https://www.cnblogs.com/zery/p/7799005.html

    26、eclipse导出jar包时,一定要记得设置Main Class

  • 相关阅读:
    fenby C语言 P9
    fenby C语言 p7
    fenby C语言 P6
    fenby C语言
    让博客园博客自动生成章节目录索引
    python学习之路:生成器并行运算
    Python学习之路:生成器
    Python学习之路:装饰器实现终极版
    Python学习之路:装饰器实现2
    Python学习之路:装饰器实现
  • 原文地址:https://www.cnblogs.com/subendong/p/9811433.html
Copyright © 2011-2022 走看看