首页
AI
爬虫
嵌入式开发
C语言入门视频教程
模电数电
51/52单片机
STM32
Linux嵌入式
文学修养
生活哲理
感动和励志文字
随手乱写
IT计算机
QT学习之路
网站搭建
微信开发
数据库设计
Java
计算机知识
Web程序设计
编程语言
NCRE全国计算机等级考试
关于我们
广告招租
表白网页制作
搜索
登录
搜索
RainFly
明确一个目标,这很重要!
累计撰写
196
篇文章
累计收到
4775
条评论
首页
栏目
首页
AI
爬虫
嵌入式开发
C语言入门视频教程
模电数电
51/52单片机
STM32
Linux嵌入式
文学修养
生活哲理
感动和励志文字
随手乱写
IT计算机
QT学习之路
网站搭建
微信开发
数据库设计
Java
计算机知识
Web程序设计
编程语言
NCRE全国计算机等级考试
关于我们
广告招租
表白网页制作
包含标签 【Java】 的文章
2024-1-3
阿里巴巴Java 开发手册嵩山版,每个程序员都应该熟读百遍(附下载链接)
阿里巴巴Java开发手册是由阿里巴巴集团编写的一份规范文档,旨在提供一套统一的编码规范和最佳实践,以帮助Java开发人员提高代码质量和开发效率。 阿里巴巴Java开发手册嵩山版包含了丰富的内容,涵盖了Java语言的各个方面,例如命名规范、代码格式、注释规范、异常处理、并发编程、数据库访问等。每一条规范都是由阿里巴巴团队经过实践总结得出的,具有较高的权威性和参考价值。 为什么说每个程序员都应该熟读百遍呢? 首先,阅读阿里巴巴Java开发手册可以帮助我们更好地理解Java编码规范和最佳实践,提高我们自己的编码能力。通过遵循规范,我们可以编写出更加规范、清晰、易读的代码,减少因代码质量不佳而引发的问题和bug。 其次,阿里巴巴Java开发手册嵩山版是由阿里巴巴集团编写的,代表着业界的标准和经验。阿里巴巴作为中国最大的互联网公司之一,具有丰富的技术积累和实践经验。阅读阿里巴巴Java开发手册可以借鉴他们在项目开发中遇到的问题和解决方案,提升我们的开发水平和问题解决能力。 阿里巴巴Java开发手册嵩山版是一本不断更新的文档。随着Java技术的发展和变化,编码规范和最佳实践也在不断演进。每隔一段时间,阿里巴巴都会发布新的版本,更新其中的内容。因此,多次阅读可以使我们及时了解到最新的编码规范和最佳实践,保持自己的知识与时俱进。 综上所述,阿里巴巴Java开发手册嵩山版对于每个Java程序员来说,是一本必读的参考书。通过反复阅读和实践,我们可以提高自己的编码能力和开发水平,写出更加高质量的代码。 来源:阿里云盘 | 大小:MB | 提取密码: | 解压密码:www.rainfly.cn 已经过安全软件检测无毒,请您放心下载。 若链接失效可联系管理员!
2024年-1月-3日
1572 阅读
0 评论
Java
2019-2-16
Ubuntu14.04如何安装JDK1.7Tomcat7
1.首先先准备好 jdk1.7 linux 和tomcat7的安装包(这里使用的是jdk linux 32位的 文章底部奉上需要的安装包) 2. 将包文件拷贝到用户目录 我这里是 /home/rain/ 3.解压 jdk文件 和tomcat文件 tar -zxvf a***** 4.打开 vim /etc/profile 在最后一行插入下面的数据 #set java environment JAVA_HOME=/home/rain/jdk1.7.0_80 JRE_HOME=/home/rain/jdk1.7.0_80/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH 注意需要将上面的/home/rain/** 目录替换成自己jdk的目录 5. 输入 source /etc/profile 刷新环境变量后 输入 java -version 查看控制台 如果显示当前数据表示jdk已经完成安装了 6.进入解压后的tomcat 目录中 找到bin目录并进入 直接在命令行输入 ./catalina.sh run 如果出现以下的信息表示启动完成了,直接通过浏览器访问 Http:xxx.xxx.xxx.xxx:8080/
2019年-2月-16日
7748 阅读
23 评论
Java
2018-8-1
如何提取SVN中Eclipse、maven构建工程导入到IntelligIDEA中?
本地有一个工程使用的是Eclipse maven构建的,由于需要将其移动到IDEA中开发,继而将导入步骤做出一下记录,方便查阅 第一步 打开IDEA checkout 源文件 本地需要先安装SVN工具 command line dient tools 必须安装 -> 传送门 选中一个目录 提取到该目录下面 (一般选择第二个) E:\idea_project\chouchou 直接导入Eclipse 模型 (maven 配置后面会自动检测) 一直下一步 下一步 是 如果导入的工程目录文件夹错误 , 将工程导入到IDEA后 系统会在右下角提示这是一个maven 工程(不要急着构建maven工程 先将lib下面的 包引入到工程中) put into WEB-INF/lib 下面 点击右侧 导航条 的maven (此步骤可以省略) 打开项目结构 (导航栏上方按钮) 修改 SDK 我用的是jdk 1.7 及 非maven jar 包 导入 点击 jars 或目录 添加 Artifacts 查看刚才加入 的外部lib 有没有复制到 WEB-INF/lib/ 下面 如果没用 在右侧加入 打开设置 配置本地的maven 配置一个tomcat 就可以运行启动了 注意上述 完成 需要用 war exploded 来调试 文件发布 ,不要用war 包发布 ,修改 jsp之类的静态文件 不会自动更新 如果导入的工程文件 结构混乱 按下列步骤操作: 1. 关闭IDEA, 2.然后删除项目文件夹下的.idea文件夹 3.重新用IDEA工具打开项目 如果导入的工程 出现找不到配置文件 (resource) 项目的pom 文件需要 引入以下maven 配置支撑 <build> <finalName>high-tech</finalName> <plugins> <!-- 更改maven默认的打包目录 --> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <webappDirectory>${basedir}/src/main/webapp</webappDirectory> <warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>utf8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.7</version> <executions> <execution> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> </execution> </executions> <configuration> <includeScope>system</includeScope> <outputDirectory>${basedir}/src/main/webapp/WEB-INF/lib</outputDirectory> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build>
2018年-8月-1日
5605 阅读
2 评论
Java
2018-4-18
SSM框架 spring配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- spring的配置文件 一般写入数据源 事务控制 mybatis扫描 mapper 文件中 IOC控制器中 --> <!-- 扫描service 层下面所有的 @Server 加入ICO容器中 --> <context:annotation-config /> <context:component-scan base-package="com.rain.service" /> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本属性 url、user、password --> <property name="url" value="jdbc:mysql://localhost:3306/power?characterEncoding=UTF-8" /> <property name="username" value="root" /> <property name="password" value="root" /> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="3" /> <property name="minIdle" value="3" /> <property name="maxActive" value="20" /> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait" value="60000" /> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <property name="validationQuery" value="SELECT 1" /> <property name="testWhileIdle" value="true" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <!-- 打开PSCache,并且指定每个连接上PSCache的大小 --> <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> </bean> <!-- mybatis 和spring 进行整合 --> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="typeAliasesPackage" value="com.rain.pojo" /> <property name="dataSource" ref="dataSource"/> <!-- 指定mybatis mapper文件的地址 --> <property name="mapperLocations" value="classpath:com/rain/mapper/*.xml"/> <property name="plugins"> <array> <!-- pagehelper --> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <!--使用下面的pagehelper方式配置参数,一行配置一个 --> <value> </value> </property> </bean> </array> </property> </bean> <!-- 配置扫描器 将 mybatis 接口的实现加入 ioc 容器中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 扫描 该包路径下 所有 DAO接口的实现 加入 到 IOC容器中 --> <property name="basePackage" value="com.rain.mapper"/> </bean> <!-- 配置spring的PlatformTransactionManager,名字为默认值 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 开启事务控制的注解支持 比较多的使用 xml配置形式的事务--> <aop:config> <!-- 切入点表达式 --> <aop:pointcut expression="execution(* com.rain.service..*(..))" id="txPoint"/> <!-- 事务增强 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/> </aop:config> <!-- 配置事务增强 如何切入 --> <tx:advice id="txAdvice"> <tx:attributes> <!-- 所有方法都是事务方法 --> <tx:method name="*" /> <!-- 以get开始的所有方法 --> <tx:method name="get*" read-only="true"/> </tx:attributes> <!-- spring配置文件核心点 数据源 与mybatis 整合 --> </tx:advice> </beans>
2018年-4月-18日
15465 阅读
5 评论
Java
2018-2-7
如何用Java用MQTT协议操作底层硬件设备?
近期项目需要用到底层通讯的继而采用MQTT 之前已经搭建过MQTT 并且用websocket技术进行连接了 http://www.rainfly.cn/?post=285 在EMQTT官网下载 Windows 10 x64 位的包 后解压到目录下面 然后 运行起来 用本地通讯猫测试工具 检查是否开启正常! 在Maven中添加上相关依赖的包 <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.0.2</version> </dependency> 实现代码:打包下载 -> https://github.com/Rain-Fly/MQTT
2018年-2月-7日
8477 阅读
3 评论
Java
2018-2-2
Java向类的属性中注入值
三种方法 第一种:使用set方法注入 public class User { private String name; public void setName(String name) { this.name = name; } } User user = new User(); user.setName("abcd"); 第二种 有参数构造注入 public class User { private String name; public User(String name) { this.name = name; } } 第三种使用接口注入 interface Dao { public void setName(String name); } public class DaoImpl implements Dao { private String name; public void setName(String name) { this.name=name; } }
2018年-2月-2日
5049 阅读
2 评论
Java
2018-2-2
给你的IntelliJ IDEA PhpStorm WebStorm添加彩色控制台
给编译器打印控制台添加彩色信息 官方文档 --》传送门 由于Intellij idea不支持显示ascii颜色,grep-console插件能很好的解决这个问题,下面就以开发JavaEE项目中,结合Log4j配置多颜色日志输出功能。 下载好上述压缩包,无需解压。 选择好ZIP文件 后会提示重新启动,当重启完成,插件安装成功后,设置log4j输出状态对应的颜色 剩下工作就是配置使用log4J 来提示文档 配置Log4j Maven配置文件pom.xml添加log4j的信赖 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </version> </dependency> 在resource 文件夹添加log.4j的配置文件 log4j.properties 并添加如下内容 ### set log levels ### log4j.rootLogger = debug , stdout ### 输出到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 输出到日志文件 ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = logs/log.log log4j.appender.D.Append = true log4j.appender.D.Threshold = DEBUG ## 输出DEBUG级别以上的日志 log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n 测试最终效果 应用JUnit写如下测试代码 @Test public void testLoger(){ final Logger logger = Logger.getLogger("TestErrOut"); logger.debug(" This is debug!!!"); logger.info(" This is info!!!"); logger.warn(" This is warn!!!"); logger.error(" This is error!!!"); logger.fatal(" This is fatal!!!"); }
2018年-2月-2日
11652 阅读
1 评论
Java
2018-2-2
Spring IOC原理的实现
Spring框架,IOC 实现原理 可以降低类与类之间的耦合性 解耦 applicationContext.xml 中对been进行配置 <bean id="userService" class="cn.rain.UserService" /> IOC DI工厂 通过 dom4j 对xml文件进行解析 根据id =userService 获得class对象 String classValue = "获得的class属性值" 使用反射创建类对象 ->>>传送门 (介绍反射) 通过class属性值获取类对象 Class clazz = Class.forName(classValue); 通过类对象创建 UerService对象 UserService service = clazz.newInstance(); 返回创建好的对象 return service;
2018年-2月-2日
4969 阅读
2 评论
Java
2018-1-29
maven使用出现的问题
内容代码没有错误 但是项目出现错误, 先找到错误在哪。 Problems选项卡会有详细的错误描述。 如果被关闭了的话,重新打开方法: Eclipse,选Window,Show View,Other,Problems。
2018年-1月-29日
10293 阅读
0 评论
Java
2018-1-10
Java反射机制
反射的核心就是加载类,解剖出类的各个组成部分 例如:成员变量 、方法 、构造方法! 加载类的三种方法 /提取当前类的 Class 对象。 方法1 Class claszz1=Class.forName("com.rain.demo.Person"); 方法2 Class claszz2=Person.class; 方法3 Class claszz3=new Hero().getClass(); 解剖类的常用方法 //返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定公共构造方法。 public Constructor<T> getConstructor(Class<?>... parameterTypes) 返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法 public Method getMethod(String name, Class<?>... parameterTypes) //返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。 public Field getField(String name) //私有 public Field getDeclaredField(String name) //私有 public Method getDeclaredMethod(String name, Class<?>... parameterTypes) //返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定私有构造方法。 public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes) 反射功能实际作用是用来开发框架如:spring 实例 Person.java package com.rain.demo; public class Person { public String name="123"; public Person(){ System.out.println("person"); } public Person(String name){ System.out.println("person name"); } public Person(String name,int password){ System.out.println("person name password"); } public void getString(){ System.out.println(name); } } Demo1.java package com.rain.demo; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import org.junit.Test; public class Demo1 { //反射新建类的对象 @Test public void test1() throws NoSuchMethodException, SecurityException, ClassNotFoundException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{ Class claszzClass = Class.forName("com.rain.demo.Person"); Constructor c = claszzClass.getConstructor(null); Person p = (Person)c.newInstance(null); System.out.println(p.name); } @Test public void test2() throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException{ //提取当前类的 Class 对象。 Class claszzClass1=Class.forName("com.rain.demo.Person"); //返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定公共构造方法。 Constructor c =claszzClass1.getConstructor(String.class); //使用此 Constructor 对象表示的构造方法来创建该构造方法的声明类的新实例, Person p = (Person)c.newInstance("xxxx"); System.out.println("test2"); System.out.println(p.name); } @Test public void test3() throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{ Person p = new Person(); Class claszzClass3=Class.forName("com.rain.demo.Person"); // Method method = claszzClass3.getMethod("getString", null); //方法名 参数 method.invoke(p, null); } }
2018年-1月-10日
6742 阅读
0 评论
Java
2018-1-5
JSP动作元素 :useBean:setProperty ::getProperty学习
JSP动作元素在请求处理阶段实例化一个javaBean,并且提供了设置获取方法 在model中创建javaBean,(其实就是java中的类)关于此概念解释 -> 传送门 创建好Javabean 在jsp中请求调用的方法 在浏览器打开 http://127.0.0.1:8080/Test/person.jsp
2018年-1月-5日
9308 阅读
1 评论
Java
1
2