- 博客(41)
- 收藏
- 关注
原创 BeautifulSoup 使用select方法详解
html = """<html><head><title>The Dormouse's story</title></head> <body> <p class="title" name="dromouse"><b>The Dormouse's story</b></p>...
2019-04-22 17:15:25
1244
转载 python中request.urlopen()和requests.get()方法的区别
爬虫里面,我们不可避免的要用urllib中的urlopen()和requests.get()方法去请求或获取一个网页的内容,这里面的区别在于urlopen打开URL网址,url参数可以是一个字符串url或者是一个Request对象,返回的是http.client.HTTPResponse对象.http.client.HTTPResponse对象大概包括read()、readinto()、gethe...
2019-04-22 14:57:03
7336
3
原创 Spring boot 添加 Servlet(ServletRegistrationBean)
Spring boot 默认是不支持 JSP 的,所以想用 JSP 就必须使用外部容器来运行,即不能使用嵌入式的 Tomcat 或 Jetty。有时候一些老项目使用的是 JSP 写的页面,后台使用的是 Servlet ,领导要求使用 Spring boot 进行改造,但是改造呢是一个漫长的过程,那么如何让 Spring boot 快速的支持 Servlet 呢?本文来告诉你具体的操作方法。除了...
2019-04-16 10:15:59
45653
6
转载 ClassPool CtClass浅析
最近在看android中的热更新原理,里面有用到javassist来更改.class,因而又恶补了下ClassPool和CtClass的相关使用。虽然android中现在热更新是用 groovy, groovy和java语法很类似,所以先弄java版的~什么是javassistJavassit是一个处理Java字节码的类库。Java字节码存储在名叫class file的二进制文件里。每个c...
2018-09-07 10:19:53
1170
原创 Ext中apply及applyIf
apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。apply 方法的签名为“apply( Object obj, Object config, Object defaults ) : Object”,该方法包含三个参数,第一个参数是要拷贝的目标对象...
2018-09-06 15:51:52
246
转载 mybatis generator工具使用
mybatis也发现了我们需要重复的去创建pojo类、mapper文件以及dao类并且需要配置它们之间的依赖关系可能会很麻烦,所以mybtis提供了一个mybatis generator工具来帮我们自动创建pojo类、mapper文件以及dao类并且会帮我们配置好它们的依赖关系,而我们只需要关系我们的业务逻辑直接使用就行了。要使用mybatis generator工具需要在pom.xml文件中添...
2018-08-07 14:57:51
199
原创 RS485通信和Modbus通信协议汇总
1. 主从模式RS-485上的软件层协议ModBus主要依赖于主从模式。主从模式是指在半双工通讯方式上,2个或者2个以上的设备组成的通讯系统中:(1) 至少且只有一个主机,其他的都是从机(2) 不管任何时候,从机都不能主动向主机发送数据(3) 主机具有访问从机的权限,从机不可以主动访问从机,任何一次数据交换,都要由主机发起(4)不管是主机还是从机,系统一旦上电,都要把自己置于接收状...
2018-08-06 16:31:21
68546
4
原创 java中的Clone()方法
Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1 使用new操作符创建一个对象 2 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程序执行...
2018-08-02 15:19:47
1234
原创 ProGuard 最全混淆规则说明
说明:本文参考(翻译)自Android SDK根目录下的proguard目录下的说明文档,是其中的一篇。,文中除了翻译外加了一些作者的实际验证。文章对Android混淆规则做一个解释说明。作者才疏学浅,如有错误,请谅解!<@_@>Android混淆入门可参考《Android 代码混淆零基础入门》5326.pngInput/Output Options 输入输出选项...
2018-08-01 10:19:59
16144
1
原创 Log4j日志的级别与使用
1、日志的级别:我们现在要调用logger的方法,不过在这个Logger对象中,有很多方法,所以要先了解log4j的日志级别,log4j规定了默认的几个级别:trace<debug<info<warn<error<fatal等。这里要说明一下:1)级别之间是包含的关系,意思是如果你设置日志级别是trace,则大于等于这个级别的日志都会输出。2)基本上默认的...
2018-07-30 11:14:10
1178
原创 配置Log4j
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , appender...
2018-07-30 11:07:28
109
转载 logback的使用和logback.xml详解
一、logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块: logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging...
2018-07-30 10:07:50
117
原创 关于Java编程,int和Integer有什么区别?
int是我们常说的整型数字,是Java的8个原始数据类型之一。Java语言虽然号称一切都是对象,但原始数据类型是例外。Integer是int对应的包装类,它有一个int类型的字段存储数据,并且提供了基本操作,比如数学运算、int和字符串之间转换等。在Java 5中,引入了自动装箱和自动拆箱功能(boxing/unboxing),Java可以根据上下文,自动进行转换,极大地简化了相关编程。知识扩展1...
2018-07-07 14:36:23
2367
转载 websocket @ServerEndpoint(value = "/websocket/{ip}")详解
首先我们查看一下ServerEndpoint类源码:@Retention(value = RetentionPolicy.RUNTIME)@Target(value = {ElementType.TYPE})public @interface ServerEndpoint { public String value(); public String[] subproto...
2018-07-07 10:28:28
79458
9
原创 详解mapper.setSerializationInclusion(Include.NON_NULL),jackson 实体转json 为NULL或者为空不参加序列化
1.实体上@JsonInclude(Include.NON_NULL) //将该标记放在属性上,如果该属性为NULL则不参与序列化 //如果放在类上边,那对这个类的全部属性起作用 //Include.Include.ALWAYS 默认 //Include.NON_DEFAULT 属性为默认值不序列化 //Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化 ...
2018-07-06 21:57:21
13787
原创 $('#login_Form').form('submit', {});是什么意思
是EasyUI Form 表单表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交、加载、清除,等等。当提交表单时,调用 'validate' 方法来检查表单是否有效。用法 创建一个简单的 HTML 表单。构建表单并给 id、action、method 赋值。<form id="login_Form" method="post"> <...
2018-06-28 16:00:33
18174
3
转载 response.setContentType(MIME)的用法及作用
Response.setContentType(MIME)的作用是时客户端的浏览器区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。 MIME的作用: 由于MIME类型与文档的后缀相关,因此服务器使用文档的后缀来区分不同文件的MIME类型,服务器中必须定义文档后缀和MIME类型之间的对应关系。而客户程序从服务器上接收数据的时候,它只是从服务器接受...
2018-06-27 23:13:25
2277
原创 设置response的Content-Disposition属性,实现文件下载示例
我们在开发web系统时有时会有以下需求:希望某类或者某已知MIME 类型的文件(比如:*.gif;*.txt;*.htm)能够在访问时弹出“文件下载”对话框希望以原始文件名(上传时的文件名,例如:山东省政府1024号文件.doc)提供下载,但服务器上保存的地址却是其他文件名(如:12519810948091234_asdf.doc)希望某文件直接在浏览器上显示而不是弹出文件下载对话框…………………...
2018-06-27 23:08:43
20259
1
原创 从easyui页面导出excel
这里我主要讲EasyUI内,通过button出发onClick()事件,把日期传入后台,由SpringMVC处理,导出excel要求:根据分拣开始时间和完成分拣时间,导出对应的数据一:easyui添加的buttontoolbar :{ text : '导出分拣信息', iconCls : 'icon-print', ...
2018-06-27 22:59:29
7862
原创 错误org.hibernate.PropertyAccessException: Null value was assigned to a property of的解决方法
问题描述:org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.genye.sorter.model.ChangeWeight.weight at org.hibernate.property.BasicPropertyAcces...
2018-06-06 11:58:24
2522
转载 MySQL修改最大连接数的两个方式
问题在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100, 最大可以达到16384。常用的有两种方式修改最大连接数。解决方式一:通过命令可以通过 s...
2018-05-30 18:04:38
2097
转载 POI事件驱动模式读写Excel和格式设置及2007EXCEL解析SAXParser类找不到
POI事件驱动模式读写Excel目前处理Excel的开源javaAPI主要有两种,一是Jxl(Java Excel API),Jxl只支持Excel2003以下的版本。另外一种是Apache的Jakarta POI,相比于Jxl,POI对微软办公文档的支持更加强大,但是它使用复杂,上手慢。POI可支持更高的Excel版本2007。对Excel的读取,POI有两种模式,一是用户模式,这种方式同Jxl...
2018-05-26 22:45:08
1902
原创 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation
java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) ...
2018-05-25 19:48:51
591
原创 java中的Collections.sort(list, Collator.getInstance(java.util.Locale.CHINA))是什么意思
1.对于数组的排序方法如下:String[] names = {"王林", "杨宝", "李镇", "刘迪", "刘波"}; Arrays.sort(names, com.ibm.icu.text.Collator.getInstance(com.ibm.icu.util.ULocale.SIMPLIFIED_CHINESE));//升序; System.out.println(Array...
2018-05-23 15:43:38
6082
1
转载 JFileChooser (Java Swing提供的文件选择对话框)
JFileChooser() 构造一个指向用户默认目录的 JFileChooser。JFileChooser(File currentDirectory) 使用给定的 File 作为路径来构造一个 JFileChooser。setFileSelectionMode(int mode) 设置 JFileChooser,以允许用户只选择文件、只...
2018-05-20 12:11:31
1140
原创 jLabel的文本左右对齐属性设置方法:setHorizontalAlignment(int alignment)
A:new Label("Starter", Label.CENTER) 第一个初始值,第二个对齐方式 B:Label() 构造一个空标签。 Label(String text) 使用指定的文本字符串构造一个新的标签,其文本对齐方式为左对齐。 Label(String text, int alignment) 构...
2018-05-19 21:37:46
20178
1
转载 Java中JFrame.getContentPane().add(pane)与JFrame.add(pane)有什么区别
有区别的当你创建一个JFrame的时候JFrame jf = new JFrame();在构造方法JFrame()内部会给jf默认添加一个rootPane所以执行完JFrame jf = new JFrame();这句话之后jf上面已经添加了一个默认的rootpanel了然后你再调用jf.add(panel) 这个时候,panel和rootPane是平级的理由:1,你可以读源代码 ,查看构造方法怎...
2018-05-19 21:22:37
1342
转载 JFrame中setDefaultCloseOperation的参数含义
实例1:一个空的java窗口// JFrameDemo1.javaimport javax.swing.*; //使用Swing类,必须引入Swing包public class JFrameDemo1{ public staticvoid main( String args[]) { //定义一个窗体对象f,窗体名称为"一个简单窗口" J...
2018-05-19 21:07:26
274
原创 this.getContentPane().setLayout(null);是什么意思
获取窗口的内容窗口,再设置内容窗口的布局是空布局(就是你自己想怎么放组件就怎么放组件)。组件都放在内容窗口里,当然1.5以后简化 了 ,用add可以直接添加组件到内容窗口。...
2018-05-19 20:59:16
5966
转载 java中的dispose()方法
先来看看 JAVA 1.5 的帮助文档的原文 - dispose - public void dispose() 释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。即这些 Component 的资源将被破坏,它们使用的所有内存都将返回到操作系统,并将它们标记为不可显示。 通过随后对 pack 或 show 的调用重新构造本机资源,可以再次显示 Window...
2018-05-17 16:22:43
7591
转载 MYSQL中的EXPLAN是用来解析sql语句的
explain是用来分析sql语句,帮助优化的一个命令。explain的语法如下:explain [extended] select … from … where …如果使用了extended,那么在执行完explain语句后,可以使用show warnings语句查询相应的优化信息。比如我们执行 select uid from user where uname=’scofield’ ...
2018-05-15 10:05:31
349
原创 spring boot中不能识别RestController的原因
而网上给出的例子及解决方案中,只提到了需要pom.xml中增加引入web模块,即如下代码<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency...
2018-04-27 17:29:45
12422
6
原创 javac -version java -version版本不一致
怀疑java和javac运行的版本不一致. */使用命令查看javac的版本javac -version//我得到的版本是1.8继续使用命令查看java的版本java -version//我得到的版本是1.6目测用高版本编译出来的class文件无法被低版本java运行. 于是对环境变量path做出修改,将%JAVA_HOME%\bin;在path中的顺序提到%SystemRoot%\syste...
2018-04-27 17:00:28
1113
原创 2003-can't connect to MySql server on '127.0.0.1' (10038)
如题,今天打开MySQL时,出现了这种问题,无法连接到数据库问题原因:也就是说MySQL的服务被拒绝解决方法:打开控制台 -> 输入"services.msc" -> 找到MySQL服务 -> 右键并启动之或者右键"计算机" -> "管理" -> "服务与应用程序"中的"服务" -> 找到MySQL服务 -> 右
2018-04-27 10:00:45
3560
原创 Redis---入门
1. 什么是RedisRedis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:RemoteDictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、ha
2017-12-11 21:07:48
189
原创 开启redis-server报错 # Creating Server TCP listening socket *:6379: bind: Address already in use--解决方法
源问题(1)在bin目录中开启redis服务器,完整提示如下:Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf7178:M 11 Dec 00:51
2017-12-11 17:12:42
13050
2
转载 【深入Java虚拟机】之一:Javac编译与JIT编译
编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如JavaScript),而下面的那条分支就是传统编译原理中从源代码到目标机器代码的生成过程。 如今,基于...
2017-12-02 20:45:30
175
原创 Java多线程简析——Synchronized(同步锁)、Lock以及线程池
Java多线程Java中,可运行的程序都是有一个或多个进程组成。进程则是由多个线程组成的。最简单的一个进程,会包括mian线程以及GC线程。为什么要使用同步锁? 在《Thinking in Java》中,是这么说的:对于并发工作,你需要某种方式来防止两个任务访问相同的资源(其实就是共享资源竞争)。 防止这种冲突的方法就是当资源被一个任务使用时,在其上加锁。
2017-11-12 23:03:08
295
原创 java中的二进制
二进制与进制转换二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。在Java语言中byte代表最小计量单位,b
2017-11-12 16:16:51
593
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人