精华内容
下载资源
问答
  • java代码自动生成

    万次阅读 多人点赞 2018-10-15 17:46:41
    Java代码自动生成(优化封装版) 一、前言  最近自己做了个项目,为了提升开发效率,节约不必要的开发时间,特意花时间优化了下代码自动生成工具。成果不错,效率提高了不少,空闲时间特意写下这篇文章,希望对...

    Java代码自动生成(优化封装版)

    一、前言

           最近自己做了个项目,为了提升开发效率,节约不必要的开发时间,特意花时间优化了下代码自动生成工具。成果不错,效率提高了不少,空闲时间特意写下这篇文章,希望对大家有所帮助。

    PS文章底部是我的代码下载链接,大家可以自行下载。

     

    二、项目背景

    框架

            本套生成工具是基于SpringMVC + MyBatis框架,同样也适用于SpringBoot框架。

    包含内容

           本套工具是在原来工具的基础上,优化封装完成的,包含实体类,mapper层, dao层,service层,serviceImpl层,工具类,等较为全面的代码。节约了大部分不必要的开发时间。

    三、项目讲解流程

    项目导入

           从链接中下载工具,解压将Generator文件拖入开发文件中。

     

    修改配置

             在generator.xml中修改生成代码本地存放路径,与代码文件前缀。数据库链接地址等。

    表代码生成

           在Generator.java文件中,修改要代码自动生成的表已经表的主键,运行main方法。

     

    代码本地生成位置

    这样该表的代码算自动生成了。

    四、代码详解

            代码从mapper到service层都有可以自己查看

           这是生成的工具类,把这三个文件,第一个是验证参数是否为空,第二个是返回json封装格式,第三个是时间工具类。把这三个方法放入自己项目的工具类中就行。

     

    这是分页所需要的实体类。把这个page实体类放入项目对应的model文件中。

    以上代码生成基本完成。

     

    五、注意事项

    1.本套代码工具对应的数据库主键不是自增。

    2.本套代码工具对应的数据库表中必须有createtime这个字段,(因为排序用的)。

    3.当然也可以在我的基础上自行优化,也可以私我。

     

    五、下载地址

    工具我都已经上传了,大家可直接下载使用。

    download:https://download.csdn.net/download/qq_25814003/10722054

     

    展开全文
  • 使用Java代码(POI)读写 Excel

    万次阅读 多人点赞 2020-01-07 19:49:59
    使用Java代码(POI)读写 Excel,这篇博客给出了实现逻辑并有完整的代码实现。

    写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。

    这博客是对自己学习的一点点总结及记录,如果您对 Java算法 感兴趣,可以关注我的动态,我们一起学习。

    用知识改变命运,让我们的家人过上更好的生活

    一、Excel导入导出的应用场景

    • 数据导入:减轻录入工作量
    • 数据导出:统计信息归档
    • 数据传输:异构系统之间数据传输

    二、POI 简介

    1. 什么是POI

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能

    • HSSF - 提供读写Microsoft Excel格式档案的功能。(.xls)
    • XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。(.xlsx)
    • HWPF - 提供读写Microsoft Word格式档案的功能。
    • HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
    • HDGF - 提供读写Microsoft Visio格式档案的功能。

    2. 为什么使用POI

    在这里插入图片描述

    A major use of the Apache POI api is for Text Extraction applications
    such as web spiders, index builders, and content management systems.

    So why should you use POIFS, HSSF or XSSF?

    You’d use POIFS if you had a document written in OLE 2 Compound
    Document Format, probably written using MFC, that you needed to read
    in Java. Alternatively, you’d use POIFS to write OLE 2 Compound
    Document Format if you needed to inter-operate with software running
    on the Windows platform. We are not just bragging when we say that
    POIFS is the most complete and correct implementation of this file
    format to date!

    You’d use HSSF if you needed to read or write an Excel file using Java
    (XLS). You’d use XSSF if you need to read or write an OOXML Excel file
    using Java (XLSX). The combined SS interface allows you to easily read
    and write all kinds of Excel files (XLS and XLSX) using Java.
    Additionally there is a specialized SXSSF implementation which allows
    to write very large Excel (XLSX) files in a memory optimized way.

    三、工程搭建

    • 创建一个普通的maven项目

    • pom.xml中引入相关依赖

    <dependencies>
        <!-- xls 操作2003版本Excel -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.9</version>
        </dependency>
    
        <!--xlsx 操作2007版本Excel -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.9</version>
        </dependency>
    
        <!-- 单元测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
    

    四、小文件Excel的写入操作

    1、操作2003版本的Excel

    public class ExcelWrite {
    
        /**
         * 操作2003版本的Excel
         */
        @Test
        public void writeExcel03() throws Exception {
            // 1. 创建新的Excel工作簿workbook
            HSSFWorkbook workbook = new HSSFWorkbook();
            // 2. 根据 workbook 创建 sheet
            HSSFSheet sheet = workbook.createSheet("用户列表");
            // 3. 根据sheet创建行
            HSSFRow row1 = sheet.createRow(0);
            // 4. 根据行创建列
            HSSFCell cell1 = row1.createCell(0);
            // 5. 向列里面设置值
            cell1.setCellValue("扬帆向海");
            // 6. 使用输出流写入到文件中
            // 6.1 定义输出流
            OutputStream out = new FileOutputStream("D:\\文档\\poi-test\\03Excel.xls");
            // 6.2 把workbook中的内容通过输出流写入到文件中
            workbook.write(out);
            // 7. 关闭流
            out.close();
        }
    }
    
    

    执行结果:
    在这里插入图片描述

    2、操作2007版本的Excel

    	/**
         * 操作2007版本的Excel
         */
        @Test
        public void writeExcel07() throws Exception {
            // 1. 创建新的Excel工作簿workbook
            XSSFWorkbook workbook = new XSSFWorkbook();
            // 2. 根据 workbook 创建 sheet
            XSSFSheet sheet = workbook.createSheet("用户列表");
            // 3. 根据sheet创建行
            XSSFRow row1 = sheet.createRow(0);
            // 4. 根据行创建列
            XSSFCell cell1 = row1.createCell(0);
            // 5. 向列里面设置值
            cell1.setCellValue("扬帆向海07");
            // 6. 使用输出流写入到文件中
            // 6.1 定义输出流
            OutputStream out = new FileOutputStream("D:\\文档\\poi-test\\07Excel.xlsx");
            // 6.2 把workbook中的内容通过输出流写入到文件中
            workbook.write(out);
            // 7. 关闭流
            out.close();
        }
    

    执行结果:
    在这里插入图片描述

    五、大文件写入操作HSSF、XSSF和SXSSF

    1、使用HSSF

    	/**
         * 操作大数据量的2003版Excel
         */
        @Test
        public void writeBigExcel03() throws Exception {
            //创建一个SXSSFWorkbook
            //-1:关闭 auto-flushing,将所有数据存在内存中
            HSSFWorkbook workbook = new HSSFWorkbook();
    
            //创建一个sheet
            HSSFSheet sheet = workbook.createSheet();
            // 循环多次
            for (int i = 0; i < 65536; i++) {
                HSSFRow row = sheet.createRow(i);
                for (int j = 0; j < 10; j++) {
                    HSSFCell cell = row.createCell(j);
                    cell.setCellValue(j);
                }
            }
            FileOutputStream out = new FileOutputStream("D:\\文档\\poi-test\\03BigExcel.xls");
            workbook.write(out);
            out.close();
        }
    

    缺点:最多只能处理65536行,否则会抛出异常
    java.lang.IllegalArgumentException: Invalid row number (65536) outside allowable range (0…65535)
    优点:过程中写入缓存,不操作磁盘,最后一次性写入磁盘,速度快

    在这里插入图片描述

    2、使用XSSF

    	/**
         * 操作大数据量的2007版Excel
         */
        @Test
        public void writeBigExcel07() throws Exception {
            //创建一个XSSFWorkbook
            XSSFWorkbook workbook = new XSSFWorkbook();
    
            //创建一个sheet
            XSSFSheet sheet = workbook.createSheet();
            // 循环多次
            for (int i = 0; i <= 65536; i++) {
                XSSFRow row = sheet.createRow(i);
                for (int j = 0; j < 10; j++) {
                    XSSFCell cell = row.createCell(j);
                    cell.setCellValue(j);
                }
            }
            FileOutputStream out = new FileOutputStream("D:\\文档\\poi-test\\07BigExcel.xlsx");
            workbook.write(out);
            out.close();
        }
    

    缺点:写数据时速度非常慢,非常耗内存,也会发生内存溢出,如100万条
    优点:可以写较大的数据量,如20万条

    3、使用SXSSF

    /**
         * 操作大数据量的2007版Excel
         */
        @Test
        public void writeBigData() throws Exception {
            //创建一个SXSSFWorkbook
            SXSSFWorkbook workbook = new SXSSFWorkbook();
    
            //创建一个sheet
            Sheet sheet = workbook.createSheet();
            // 循环多次
            for (int i = 0; i <= 65536; i++) {
                Row row = sheet.createRow(i);
                for (int j = 0; j < 10; j++) {
                    Cell cell = row.createCell(j);
                    cell.setCellValue(j);
                }
            }
            FileOutputStream out = new FileOutputStream("D:\\文档\\poi-test\\07BigData.xlsx");
            workbook.write(out);
            out.close();
    
            //清除临时文件
            ((SXSSFWorkbook) workbook).dispose();
        }
    

    优点:可以写非常大的数据量,如100万条甚至更多条,写数据速度快,占用更少的内存

    注意:
    过程中会产生临时文件,需要清理临时文件(C:\Users\helen\AppData\Local\Temp)

    默认由100条记录被保存在内存中,如果查过这数量,则最前面的数据被写入临时文件。如果想自定义内存中数据的数量,可以使用new SXSSFWorkbook(数量)

    六、Excel文件的读操作

    public class ExcelRead {
    
        /**
         * 测试读取03版本Excel里面的内容
         */
        @Test
        public void readExcel03() throws Exception {
            // 1. 获取读取文件的输入流
            FileInputStream in = new FileInputStream("D:\\文档\\poi-test\\03Excel.xls");
            // 2. 创建workbook,把输入流传递进去
            HSSFWorkbook workbook = new HSSFWorkbook(in);
            // 3. 根据workbook获取sheet
            HSSFSheet sheet = workbook.getSheetAt(0);
            // 4.根据sheet获取行
            HSSFRow row = sheet.getRow(0);
            // 5. 根据行获取列
            HSSFCell cell = row.getCell(0);
            // 6. 获取cell里面的值
            String value = cell.getStringCellValue();
            System.out.println(value);
            // 关闭流资源
            in.close();
    
        }
    }
    
    

    执行结果:
    在这里插入图片描述


    由于水平有限,本博客难免有不足,恳请各位大佬不吝赐教!

    展开全文
  • Java代码是怎么运行的

    万次阅读 2018-07-24 21:29:50
    Java代码有很多运行方式。 在开发工具中运行 双击jar文件运行 在命令行中运行 在网页中运行 当然,上述运行方式都离不开JRE,&nbsp;也就是Java运行时环境。 JRE仅包含Java程序的必须组件,包括Java虚拟机...

    Java代码有很多运行方式。

    1. 在开发工具中运行
    2. 双击jar文件运行
    3. 在命令行中运行
    4. 在网页中运行

    当然,上述运行方式都离不开JRE, 也就是Java运行时环境。

    JRE仅包含Java程序的必须组件,包括Java虚拟机以及Java核心类库等。

    而我们Java程序员经常接触到的JDK(Java开发工具包)同样包含了JRE, 并且还附带了一系列开发、诊断工具。

    然而,运行C++程序则无需额外的运行时环境,C++编译器往往把C++代码编译成CPU能够理解的机器码。

    那么,既然C++的运行方式如此成熟,我们为什么要在JVM里运行Java代码呢?

    为什么Java要在虚拟机里运行?

    Java作为一门高级程序语言,它的语法复杂,抽象程度也很高。因此在硬件上运行Java代码并不现实,所以运行Java程序之前,我们需要对其进行一番转换。

    当前进行转换的主要思路是:设计一个面向Java语言特性的虚拟机,并通过编译器将Java程序转换层该虚拟机所能识别的指令序列(Java字节码)。之所以这么取名,是因为Java字节码指令的操作码被固定成一个字节。

    Java虚拟机可以由硬件实现

    https://en.wikipedia.org/wiki/Java_processor

    当然,更多时候还是在各个现有平台(Windows_x64,Linux_aarch64)上提供软件实现。这么做的目的在于,一旦一个程序被编译成Java字节码,那么它变可以在不同平台上的虚拟机实现里运行。这也就是平时我们所说的Java的跨平台特性。

    虚拟机的另外一个好处是它带来了一个托管环境(Managed Runtime)。这个托管环境能够代替我们处理一些代码中冗长而且容易出错的部分。其中最广为人知的当属自动内存管理与垃圾回收,这部分内容甚至催生了一波垃圾回收调优的业务。

    除此之外,托管环境还提供了诸如数组越界,动态类型、安全权限等等的动态监测,使我们免于书写这些无关业务逻辑的代码。

    Java虚拟机具体是怎么运行Java字节码的?

    以标准JDK中的HotSpot虚拟机为例,从虚拟机和底层硬件两个角度,剖析该问题。

    从虚拟机的角度来看,执行Java代码首先需要将它编译而成的class文件加载到Java虚拟机中。加载后的Java类会被存放于方法区(Method Area)中。实际运行时,虚拟机会执行方法区内的代码。

    如果你熟悉X86的话,你会发现这和段式存储管理中的代码段类似。而且,Java虚拟机同样也会在内存中划分出堆和栈来存储运行时的数据。不同的是,Java虚拟机会将栈细分为面向Java方法的Java方法栈面向本地方法(用C++写的native方法)的本地方法栈,以及存放各个线程执行位置的PC寄存器

     

    在运行过程中,每当调用进入一个Java方法,Java虚拟机会在当前线程的Java方法栈中生成一个栈帧,用以存放局部变量以及字节码的操作数。这个栈帧的大小是提前计算好的,而且Java虚拟机不要求栈帧在内存空间里连续分布

    当退出当前执行的方法时,不管是正常返回还是异常返回,Java虚拟机均会弹出当前线程的栈帧,并将之舍弃。

    在HotSpot里面,上述翻译过程有两种形式

    1. 解释执行,即逐条将字节码翻译成机器码并执行。
    2. 即时编译(Just-In-Time compilation, JIT), 即将一个方法中包含的所有字节码编译成机器码后再执行。

    前者的优势是无需等待编译,而后者的优势在于实际的运行速度更快。

    HotSpot默认采用混合模式,综合了解释执行和即时编译两者的优点。

    它会首先解释字节码。然后将其中反复执行的热点代码,以方法为单位即时编译

    Java虚拟机的运行效率究竟是怎么样的?

    HotSpot采用了多种技术来提升峰值性能,上文提到的即时编译技术便是其中最重要的技术之一。

    即时编译建立在程序符合二八定律的假设上。

    二八定律:20%的代码占用了程序执行过程中80%的资源。

    对于占据大部分的不常用的代码,我们无需耗费时间将其编译成机器码,而是采用解释执行的方式。

    另一方面,对于仅占据小部分的热点代码,我们则可以将其编译成机器码,打到理想的运行速度。

    理论上讲,即时编译后的Java程序的执行效率,是可以超过C++程序的。这是因为与静态编译相比,即时编译拥有程序的运行时信息,并且能够根据这个信息做出相应的优化。(实际上,编译时会插入一些有关jvm的代码)

    举个例子,我们知道虚方法是用来实现面向对象语言多态性的。对于一个虚方法调用,尽管它有很多个目标方法,但在实际运行过程中他可能只调用了其中的一个,这个信息便可以被即时编译器所利用,来规避虚方法调用的开销从而达到比静态编译的C++程序更高的性能。

    为了满足不同用户场景的需要,HotSpot内置了多个即时编译器:C1、C2和Graal。 Graal是Java 10正式引入的实验性即时编译器。

    之所以引入多个即时编译器,是为了在编译时间和生成代码的执行效率之间做取舍。 C1又叫做Client编译器,面向的是对启动性能有要求的客户端GUI程序,采用的优化手段相对简单,因此编译时间较短。C2又叫做Server编译器,面向的是对峰值性能有要求的服务端程序,采用的优化手段相对复杂,因此编译时间较长,但同时生成代码的执行效率较高。

    从Java 7开始,HotSpot默认采用分层编译的方式:热点方法首先被C1编译,而后热点方法中的热点会进一步被C2编译。

    为了不干扰应用的正常运行,HotSpot的即时编译是放在额外的编译线程中进行的。HotSpot会根据CPU的数量设置编译线程的数目,并且按1:2的比例配置给C1及C2编译器。

    在计算资源充足的情况下,字节码的解释执行和即时编译可同时进行。编译完成后的机器码后再下次调用时启用,以替换原本的解释执行。

    我们来完成老师布置的作业:了解Java语言和Java虚拟机看待boolean类型的方式是否不同。

    首先,撰写代码Foo.java

    1. public class Foo {
    2. public static void main(String[] args){
    3. boolean flag = true;
    4. if(flag)
    5. System.out.println("Hello, Java!!");
    6. if(flag == true)
    7. System.out.println("Hello, JVM!!!");
    8. }
    9. }
    1. javac Foo.java
    2. java Foo

    显然,它的执行结果是:

    Hello, Java!!
    Hello, JVM!!!

    我们使用asmtools.jar对其进行反汇编(此命令JDK7无法运行, 需要升级到JDK8)

    下载地址:https://download.csdn.net/download/ti_an_di/10555815

    java -cp ./asmtools.jar org.openjdk.asmtools.jdis.Main Foo.class > Foo.jasm.1

    我们得到它的反汇编代码(在Foo.jasm.1 中)

    1. super public class Foo
    2. version 52:0
    3. {
    4. public Method "<init>":"()V"
    5. stack 1 locals 1
    6. {
    7. aload_0;
    8. invokespecial Method java/lang/Object."<init>":"()V";
    9. return;
    10. }
    11. public static Method main:"([Ljava/lang/String;)V"
    12. stack 2 locals 2
    13. {
    14. iconst_1;//看这里
    15. istore_1;
    16. iload_1;
    17. ifeq L14;
    18. getstatic Field java/lang/System.out:"Ljava/io/PrintStream;";
    19. ldc String "Hello, Java!!";
    20. invokevirtual Method java/io/PrintStream.println:"(Ljava/lang/String;)V";
    21. L14: stack_frame_type append;
    22. locals_map int;
    23. iload_1;
    24. iconst_1;
    25. if_icmpne L27;
    26. getstatic Field java/lang/System.out:"Ljava/io/PrintStream;";
    27. ldc String "Hello, JVM!!!";
    28. invokevirtual Method java/io/PrintStream.println:"(Ljava/lang/String;)V";
    29. L27: stack_frame_type same;
    30. return;
    31. }
    32. } // end Class Foo

    在运行指令

    awk 'NR==1,/iconst_1/{sub(/iconst_1/, "iconst_2")} 1' Foo.jasm.1 > Foo.jasm

    其作用是将Foo.jasm.1文件中第一个iconst_1 替换为iconst_2, 输出到文件Foo.jasm中

    1. super public class Foo
    2. version 52:0
    3. {
    4. public Method "<init>":"()V"
    5. stack 1 locals 1
    6. {
    7. aload_0;
    8. invokespecial Method java/lang/Object."<init>":"()V";
    9. return;
    10. }
    11. public static Method main:"([Ljava/lang/String;)V"
    12. stack 2 locals 2
    13. {
    14. iconst_2; //看这里
    15. istore_1;
    16. iload_1;
    17. ifeq L14;
    18. getstatic Field java/lang/System.out:"Ljava/io/PrintStream;";
    19. ldc String "Hello, Java!!";
    20. invokevirtual Method java/io/PrintStream.println:"(Ljava/lang/String;)V";
    21. L14: stack_frame_type append;
    22. locals_map int;
    23. iload_1;
    24. iconst_1;
    25. if_icmpne L27;
    26. getstatic Field java/lang/System.out:"Ljava/io/PrintStream;";
    27. ldc String "Hello, JVM!!!";
    28. invokevirtual Method java/io/PrintStream.println:"(Ljava/lang/String;)V";
    29. L27: stack_frame_type same;
    30. return;
    31. }
    32. } // end Class Foo

    我们现在将flag的值由1改为了2, 将修改后的代码汇编到Foo.class文件中

    java -cp ./asmtools.jar org.openjdk.asmtools.jasm.Main Foo.jasm

    再次运行Foo类

    1. java Foo
    2. Hello, Java!!

    可见JVM将true视为1, 不等于修改为2的flag,使用if_icmpne指令判断他们不相等,直接跳到L27执行,所以Hello, JVM!!!不会输出。而第一次判断是使用ifeq判断flag的值是否为0,所以Hello,Java!!会输出。

    此文从极客时间专栏《深入理解Java虚拟机》搬运而来,撰写此文的目的:

    1. 对自己的学习总结归纳

    2. 此篇文章对想深入理解Java虚拟机的人来说是非常不错的文章,希望大家支持一下郑老师。

    展开全文
  • jsp中嵌套java代码,js中嵌套java代码

    千次阅读 2019-01-10 16:24:11
    首先根据三目运算中,来...在js中想要判断是true还是false,所以需要把java代码拿过来,在js中写java代码,得加上&lt;%%&gt;,在里面写java代码   根据jsp中的java代码,取到user,在js中调用user ...

      首先根据三目运算中,来判断如果等于add,就是新增,否则就是编辑。                 

    在js中想要判断是true还是false,所以需要把java代码拿过来,在js中写java代码,得加上<%%>,在里面写java代码

     

    根据jsp中的java代码,取到user,在js中调用user

    展开全文
  • 一段java代码是如何执行的?

    万次阅读 多人点赞 2021-03-25 10:04:08
    摘要:当你学会了java语言之后,你写了一些代码,然后你想要执行你的代码,来达成某些功能。那么,你都知道这段java代码都是如何执行的吗?
  • word插入Java代码

    千次阅读 2020-04-16 01:39:11
    word插入Java代码 Syntax Highlight Code in Word Documents 选择Java生成高亮代码,复制粘贴到word。 ...
  • Java代码调用PHP代码

    千次阅读 2018-08-02 21:33:58
    JAVA代码调用PHP程序 import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class Test { public static void main(String[] args) { ProcessBuilder p=new ...
  • 本文链接: ... Java代码截屏使用java.awt.Robot中的createScreenCapture方法实现。 代码实例: package com.xiets.capturedemo; import javax.imageio.ImageIO; import java....
  • Java 代码发送邮件

    千次阅读 2019-05-25 21:31:19
    使用 Java 代码发送邮件
  • Java基础——java代码规范详细版

    万次阅读 多人点赞 2019-07-03 11:41:57
    Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。本文档中没有说明的地方,请参看SUN Java标准代码规范。如果两边有冲突,以SUN Java标准为准。 1. 标识符命名规范 ...
  • javaparser 作为开发人员,我们经常鄙视手动进行重复工作的人员。 我们认为, 他们应该实现这一目标 。 尽管如此,我们还是进行与... 生成我们必须编写的无聊的重复性Java代码 分析我们的代码以回答有关它...
  • github:https://github.com/AllenWellsJava代码保护探索之路系列章节列表【Java代码保护探索之路系列】之一:java代码保护开篇为什么要进行Java代码保护?传统的C/C++编译生成的.o文件,安全性相对较高,而java编译...
  • javapoet动态生成java代码

    千次阅读 2018-05-23 10:28:51
    刚接触第一感觉 动态生成java代码???java代码不就是一个后缀名为.java的txt文档吗?仔细想了下,如果要生成这样的代码的确挺麻烦,你要考虑导包的问题,以及复杂的语法javapoet代码仓库地址其实git地址官方介绍的demo写...
  • Python统计Java代码行数

    万次阅读 2020-05-25 23:23:44
    相信大家都用过一些工具统计自己项目中的代码量,今天,我将介绍一下如何使用Python脚本统计AndroidStudio中Java代码的行数。 # -*- coding:utf-8 -*- import os import time # 获取当前项目目录 projectDir = o.....
  • Kotlin代码转换成Java代码

    万次阅读 2017-10-27 14:18:44
    一、Kotlin代码与Java代码对比二、转换方法三、参考资料一、Kotlin代码与Java代码对比//Kotlin当中的单例模式 object PrinterDriver{ init{ println("Initializing with object:$this") } fun print()=println(...
  • java代码转Smali代码

    千次阅读 2017-09-13 12:44:00
    很麻烦,所以找了找如何将java代码转成smali,记录下来。2.过程 首先,准备好要转化的java类。使用javac编译成.class文件 这里出现的一个问题是,java编译器并不能找到android自己的工具库。莫慌,找到这个库加入...
  • python调用java代码

    千次阅读 2019-05-10 13:44:06
    python调用java代码 一、进入到jar包中调用方法函数 JAVA代码 package test; public class TestApi { public String getData(String key){ return key; } public void printData(String key){ ...
  • Java 代码一步一步转为Smali代码

    千次阅读 2018-09-08 16:08:35
    Java 代码转为Smali代码 Java 代码转为Smali代码 一、所需文件 二、转换步骤 三、Smali文件查看 四、结语 由Java到Smali本来是不需要这么麻烦的,但是为了能对比研究Smali语法,所以,采取Java代码...
  • Java 代码实现验证码功能

    千次阅读 2019-05-26 00:29:10
    Java 代码实现验证码功能
  • matlab调用java代码

    千次阅读 2017-05-16 13:43:44
    Matlab编程简单且拥有强大的计算能力,但是其对于某些场景并不适应,常常需要借助于java代码。Matlab调用java代码首先需要两个步骤:1.将java代码打包成jar包;2.matlab调用。(注意:有一个很重要的前提,matlab的...
  • ![图片说明](https://img-ask.csdn.net/upload/201902/10/1549808753_362345.png) 怎么转换为java代码。dalao帮忙
  • 在对Java代码进行优化的时候,想方设法的要提高整体的效率,使用JProfiler看代码的时间占比,然后,看看哪些部分是可以优化的,减少运行时间的。下面有这么几个方向。 ... 1,能使用构造函数一步到位的,就尽量使用...
  • Java笔记——Java代码块的执行顺序

    千次阅读 2018-09-07 02:12:06
    Java代码块的执行顺序 Java程序中代码块的执行顺序对于学习Java的人来说是必不可少需要掌握的。 代码块 在Java中,使用{}括起来的代码被称为代码块。 根据其位置和声明的不同,可以分为: 局部代码块 构造...
  • 其实就是互转,以下基于IDEA或Android StudioJava转Kotlin打开要转的文件方法1Ctrl+Shift+Alt+K方法2Code - Convert Java File To Kotlin FileKotlikn 转 Java Tools>Kotlin>Show Kotlin Bytecode Decompile
  • 如何保护Java代码

    千次阅读 2017-05-23 12:28:43
    Java代码中往往包含着一 些非常敏感的信息,有些关系到开发者的利益,有些可能因为使用环境不同而关系到软件用户的利益,于是,java程序是赤膊上阵还是全副武装这个现实问题就 摆在了java开发人员的面前,所以在...
  • 利用CXF wsdl2java生成java代码  2012-08-24 18:06:52| 分类:java| 标签:|字号大中小 订阅 环境配置: 1、下载apache-cxf-2.6.2在环境变量中配置CXF_HOME ,在PATH中加入%CXF_HOME%\bin 2、输入cmd ...
  • Linux后台运行java代码——nohup

    万次阅读 2020-08-27 17:15:46
    在linux系统运行java代码时,有时运行时间较长,需要将其挂起到后台,以使用其他功能, 并且断开连接后仍然可以继续运行。 而且有时也需要保存其控制台输出日志。 挂起后当然也需要查看其状态,和调回后台。 后台...
  • Java代码的登录界面

    万次阅读 多人点赞 2018-03-17 10:35:46
    Java代码的简单登录界面package loginwindow; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import ...
  • scala调用java代码

    千次阅读 2017-08-07 11:50:30
    scala调用java代码@(SCALA)[scala]详细代码请见https://github.com/lujinhong/scalademo在scala中调用java代替非常非常简单,直接调用即可(一)一个简单示例1、创建一个java类package com.lujinhong.demo.scala;...
  • 【Java开发工具】Generator:Java代码生成工具

    万次阅读 热门讨论 2018-09-14 14:01:52
    在整个项目过程中耗费了不少的时间来构建SpringMVC的重复性代码和Mybatis的映射文件,同时我也越来越觉得这些重复且难度不大的工作不应当充斥于整个项目周期中,于是开始在网上搜寻Java代码生成器,但看了许多都不太...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 888,425
精华内容 355,370
关键字:

java代码

java 订阅