Eclipse使用入门指南及技巧
Java是必须的
Eclipse是纯绿色的软件
解压即可使用,软件的各种配置、插件,在配置后,也都存储在解压后的目录下,拷贝后也就有了这些配置。
Eclipse插件管理
插件安装:一般使用Help => Eclipse Marketplace进行安装即可,对于在Eclipse Marketplace没有的,可以使用Help ==> Install New Software 进行安装。
插件查看:Help ==> About Eclipse ==> Installation Details,会显示Eclipse安装的所有插件,并可以在这里进行卸载。
常用的Eclipse插件有:JRebel、SVN插件(Subversive或者SubEclipse)、Maven Integration For Eclipse。
一般每个Eclipse版本,和相应插件的版本必须对应,这些实际Eclipse Marketplace都已经帮我们管理了。
JRebel5.3破解版
下载网址:http://download.csdn.net/download/cselmu9/6238613
参考网址:http://blog.csdn.net/sensisoft/article/details/20010615
- -noverify
- -javaagent:/work/jrebel/jrebel.jar
- -Drebel.dirs=/work/privilege-server/target/classes
- -Drebel.disable_update=true
- -DJAVA_OPTS=-Xms128m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
SVN插件注意问题
当硬盘已经安装了TortoiseSVN时,对应的项目在Eclipse打开时,如果Eclipse已经安装了对应版本的SVN插件,则会自动进行管理,这里版本必须对应,例如:SubEclipse中如果SVN Client是1.8版本,则只能识别TortoiseSVN 1.8版本;如果是1.7版本,只能识别TortoiseSVN 1.7版本。
最开始我曾经试图根据百度的结果这样解决: 右键项目-team--share project--选择svn--finish 问题解决,但是报错如下:
org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: The working copy at 'E:\Work'
is too old (format 29) to work with client version '1.8.5 (r1542147)' (expects format 31). You need to upgrade the working copy first.
才明白是版本的问题。
顺便说下TortoiseSVN的svn:ignore的一个问题,如果发现对某个目录设置了忽略,但是不生效,则很有可能是这个目录已经被提交到SVN服务器了;如果本地刚刚还能update下来的代码,突然update不下来了,很可能你不小心删除了,reverse一下试试。
Maven插件注意问题
Maven插件,需要和Maven配合使用,Maven也是绿色的,解压到硬盘即可使用,在Maven中,settings.xml里面,最好把Maven下载的Jar包制定存储到一个空间较大的磁盘,一般公司也都有自己的Maven资源库,提高下载速度,减少公网资源利用。
Maven资源库的建立,使用较多的是Nexus,实际就是一个War包,部署到Jboss/Tomcat等容器即可,其原理其实就是一个代理,下过一次之后,以后别人再使用,就只从这个代理下了。C
各种Maven命令,都可以在Eclipse里面直接使用,Run As/Debuy As下面有几个常用的,Build/Clean/Install/Clean/Generate-Sources,配置更多命令,可以进入Run/Deug Configurations,比如配置一个mvn deploy –Dmaven.test.skip=true的效果,则如下图:
问题“Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap”解决:
在Eclipse Maven配置中添加新的Catalog配置:http://repo1.maven.org/maven2/archetype-catalog.xml ,如下图:
接下来在使用刚添加的catalog创建web工程,如下图:
对于maven依赖jar包,多次update就是不能下载到本地的情况,可以尝试一下更换一个资源库(比如用公网资源库,用本地资源库切换一下试试),多试验一次,一般都会下载下载,如果实在下载不下来,可以手工吧jar包下载下来放到对应的本地目录下面(如果respository文件比较大,比如几百M,建议这么做,否则下载,即使本地,也会耗带宽,也非常容易多次下载不下来)。对于SNAPSHOT,别人提交后,我们要force才能下载下来。
对于已经本地目录已经有相应jar包,但是Eclipse依然说missing...的情况,可以试着到工作区的相应项目删除.marker文件试试,例如我有一个pig项目,则目录是:
工作区路径\.metadata\.plugins\org.eclipse.core.resources\.projects\pig
如果我们想建立一个空的Maven工程,用来作为其他Module类型Maven的Parent,可以在新建时选择如下:
完成之后,无用内容删除即可。
对于新建某种类型的Maven项目时,如果文件夹不全,比如只有src/main/resource,我们可以自行根据需要增加 src/main/Java、src/test/java、src/test/resource,操作如下:
在项目上右击,New-->Folder,选中要在其上添加的文件夹,下面输入框中输入要添加的文件夹名字,即可,截图如下:
如果新建立的项目看不到src/test/java,想建立source folder,但是提示已经存在,参考这个文章:http://www.java123.net/v/985931.html 。
如果新建立的Maven项目没有src/main/java、src/main/resource、src/test/java、src/test/resource文件夹,可以到项目目录下查看.classpath文件,补上没有的,如下:
- <classpathentry kind="src" output="target/classes" path="src/main/java">
- <attributes>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java">
- <attributes>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
然后,在项目上右键选择properties,然后点击java build path,在Librarys下,编辑JRE System Library,选择workspace default jre就可以了。文件夹在eclipse出现之后,可以再把JRE还原回去。
遇到一个Maven 依赖Jar包冲突的问题,有个项目采用spring 4.0.6版本,依赖了,
<dependency>
<groupId>org.jasig.cas.client</groupId>
<artifactId>cas-client-core</artifactId>
<version>3.2.1-SNAPSHOT</version>
</dependency>
因为cas-client-core中使用的Spring版本是3.2.0,<scope>test</scope>,这个项目中主要是测试使用了Spring。
则采用Spring 4.0.6的Web项目启动时会报警告:java.lang.IllegalStateException: Duplicate fragment name: spring_web for jar......
项目不能正常启动,原因就是Spring冲突的缘故,对于这个情况,只能把cas-client-core里面的Spring也改成4.0.6来解决了。
Maven制作可以运行的jar包
第一种方式
对于jar包,执行命令mvn package,所有的maven依赖包是不会打进WEB-INFO的lib目录的,为了制作一个可执行的jar包,下面的步骤是可行的。
pom.xml中增加节点如下:
- <build>
- lt;plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <mainClass>com.allen.capturewebdata.Main</mainClass>
- </manifest>
- </archive>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- </configuration>
- </plugin>
- lt;/plugins>
- </build>
然后使用maven命令:mvn assembly:assembly
则会在target目录下多出一个*-jar-with-dependencies.jar,这就是一个可执行的jar包。
第二种方式(推荐)
- <build>
- <sourceDirectory>src/main/java</sourceDirectory>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>conf.xml</include>
- </includes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.3.2</version>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>test</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <excludeGroupIds>org.apache.hadoop</excludeGroupIds>
- <excludeGroupIds>org.slf4j</excludeGroupIds>
- <outputDirectory>target/classes/lib</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <!-- Ignore/Execute plugin execution -->
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <!-- copy-dependency plugin -->
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <versionRange>[1.0.0,)</versionRange>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
使用maven clean package 打包即可。
run jetty run 插件
Eclipse可以使用jetty插件,运行servlet,安装插件如下图:
有些应用运行需要的jar包:http://pan.baidu.com/s/1c0Ghcxq 视具体情况而定。
jetty是最简单、快速的servlet容器了,比tomcat都要快。
Maven其他插件,比如冲突检测、排除 jar
Maven插件众多,使用过程中逐渐学习记录:
- <plugin>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <packagingExcludes>WEB-INF/lib/jackson-dataformat-xml*.jar,WEB-INF/lib/jackson-module-jaxb-annotations*.jar</packagingExcludes>
- </configuration>
- </plugin>
- <!-- 冲突检测插件 -->
- <plugin>
- <groupId>com.meituan.maven</groupId>
- <artifactId>maven-conflict-plugin</artifactId>
- <version>${maven-conflict-plugin.version}</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
mvn作为构建工具,也可以完全命令行运行,比如:
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.xxx -DartifactId=testXXX -Dpackage=com.xxx -Dversion=1.0-SNAPSHOT
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.xxx -DartifactId=testxxx -Dpackage=com.xxx -Dversion=1.0-SNAPSHOT
mvn install:install-file -DgroupId=%GROUP_ID% -DartifactId=%ARTIFACT_ID% -Dversion=%VERSION% -Dfile=%COMPONENT%.jar -Dpackaging=jar -DgeneratePom=true
Eclipse设置容器内存
Jetty
设置run as --->run configuragtions--->jre标签下的属性VM arguments:
-server -Xms512m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+PrintGCDetails -Xloggc:%M2_HOME%/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%M2_HOME%/java_pid.hprof
tomcat
修改1:
在Eclipse中下面Servers双击Tomcat Server... 然后点击General InformAtion 下的Open launch configuration;会弹出Edit Configuration,然后在选中Atguments选项卡;在VM atguments文本框中最后面添加 -server -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=1024m
修改2:
在Eclipse菜单栏中Window ——》Preferences ——》Server ———》 Runtime Environment;选择您用的Tomcat 然后点击Edit...弹出Edit Server Runtime Ecvironment 下面JRE选项后面的Installed JREs...点击弹出Installed JREs;在选中您用的Tomcat在点击Edit..在Defaul VM Atguments:中填入-Xms512m -Xmx1024m
java
对于通过main函数执行的单个java application,可以如下方式设置内存:
右键.java程序,Run As --》 Run Configuration...,点击Arguments面板,在VM arguments中输入需要设置的VM参数,比如:-Xms128m -Xmx256m -XX:PermSize=128m -XX:MaxPermSize=256m
或者可以设置某个JVM的缺省参数,右键工程,点击Properties,对使用的JVM进行设置,这种方式影响工程下的所有Java程序,但是优先级低于直接在Java程序上设置。
Eclipse远程调试
sankuai 24894 24892 3 Jun09 ? 05:09:56 /usr/local/java/bin/java -server -Dapp.key=hotel.ruleengine -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.io.tmpdir=/tmp -Djava.net.preferIPv6Addresses=false -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=8419,suspend=n -Xms256m -Xmx256m -Dfile.encoding=UTF -XX:NewRatio=3 -XX:+DisableExplicitGC -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+UseConcMarkSweepGC -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:CMSFullGCsBeforeCompaction=0 -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=80 -Xloggc:/opt/logs/mobile/hotelruleengine/hotelruleengine.gc.log -XX:ErrorFile=/opt/logs/mobile/hotelruleengine/hotelruleengine.vmerr.log -XX:HeapDumpPath=/opt/logs/mobile/hotelruleengine/hotelruleengine.heaperr.log -Djetty.home= -Djetty.appkey=hotelruleengine -Djetty.context=/ -Djetty.logs=/opt/logs/mobile/hotelruleengine -Djetty.webroot=/opt/meituan/mobile/hotelruleengine/webroot com.sankuai.mms.boot.Bootstrap
参考网址:http://blog.csdn.net/kuanghongjiang/article/details/7912307
调试过程中,对于一个对象,在Variables窗口,显示的是对象的 toString()的输出值,想想就应该这样,怕有时搞着搞着饭糊涂。
Eclipse小技巧
Eclipse的工作区配置,都在Windows ==> Preferences里面配置,下面说说Preferences的常用配置:
General ==> Workspace ==>Text file encoding,请设置为UTF-8,避免乱码。
General ==> Content Types ==> Text ==> Java Properties File,把缺省的编码格式ISO-8859-1,改为UTF-8,可以解决属性文件中文乱码问题,对于jsp等的中文乱码,解决办法类似。
General ==> Editors ==> Text Editors ==> Show line numbers,可以显示行号。
修改字体,windows-->prefereces里面,找到General-->Appearance-->Colors and Fonts,然后在右边找到你要修改的字体或背景,点Edit...即可。
比如修改Java的字体,就找Java-->Java Editor Text Font。修改xml等文本就找basic-text font。
Java ==> Code Style ==> Code Template,可以导入模板,或者自行定义新建修改文件的格式。
当maven update多次, 选中force update 选项,都不能把maven依赖的jar下载下来的时候,到maven存储路径中,删除*.lastUpdated文件,重新一次。
导入到eclipse中发现js文件报错,解决办法是关闭eclipse的js校验功能,步骤如下:
(1)右键点击项目->properties->JavaScript->Validation->Errors/Warming,将Enable Javascript Sematic validation前面的钩子去掉
(2)打开.project 文件,去掉代码<buildCommand><name>org.eclipse.wst.jsdt.core.javascriptValidator</name><arguments></arguments></buildCommand>
(3)复制一份js代码,重新建js文件,因为原来那个文件已经被记录成是有错误的了
@Override must override a superclass method 问题解决:主要是因为Compiler是jdk5,(5不支持@Override等形式的批注)只要把它改为6就可以了。
方法:将window->preferences->java-compiler中的Compiler compliance level修改为6.0。
解决“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误:http://blog.csdn.net/hong0220/article/details/41597769
Cannot change version of project facet Dynamic Web Module to 2.3:http://blog.csdn.net/steveguoshao/article/details/38414145
Eclipse关闭XML文件验证的方法:
XML的编写是否符合规范,可以通过XML Schema或DTD进行验证,但有时候电脑本来就很卡,而且XML的某些错误并未导致程序无法运行的情况下,暂时关闭XML的验证也算不错的选择。
如web.xml中web-app标签没指定version:
<web-app xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://java.sun.com/xml/ns/j2ee” xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd” id=”WebApp_ID” >
这时,就会出现红叉,提示:cvc-complex-type.4: Attribute ‘version’ must appear on element ‘web-app’.
这个错误并未导致程序无法运行,而eclipse关闭XML验证的方法如下:
1.菜单【Windows】 -【Preperences】-【Validation】
2.在右边找到“XML Validator”,把取消【Bulid】复选框的选中状态,保持【Manual】 的选中状态,因为我们最后还需要确保XML的正确性,这个可以通过选择XML文件,在右键菜单中选择【Validate】手工来验证,如果XML有错,会弹出窗口提示,但如果把【Manual】复选框也取消的话,再手工验证,即使XML真有错,也不会正确提示。
Eclipse启动及运行速度优化,在eclipse.ini中增加如下内容:
-Xverify:none
-Xms512m
-Xmx512m
-Xmn128m
-XX:PermSize=256m
-XX:MaxPermSize=256m
-XX:+DisableExplicitGC
-Xnoclassgc
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSInitiatingOccupancyFraction=85
JVM优化
关于JVM的优化,已经在其他文章说明,链接地址:http://blog.csdn.net/puma_dong/article/details/12529905#t4。
Eclipse运行JDK源码
Eclipse帮助:
Eclipse问题解决
deprecated and restricted API
//Access restriction: The constructor 'Big5()' is not API (restriction on required library 'C:\Work\Java\jdk1.7.0_67\jre\lib\charsets.jar')
这个错误的原因解释如下:
J2SE中的类大致可以划分为以下的各个包:java.*,javax.*,org.*,sun.*,除了“sun”包,其它各个包都是Java平台的标准实现,并且今后也将被继续支持。
一般说来,“sun”之类的包并不包含在Java平台的标准中,它与操作系统相关,在不同的操作系统(如Solaris,Windows,Linux,Mac等等)中的实现也各不相同,并且可能随着J2SE版本不定期变化。
因此,直接调用“sun”包的程序代码并不是100%的Java实现。
也就是说:“java.*”包,“javax.*”包,“org.*”包是作为J2SE的API公开接口的一部分,如果程序直接调用这些包中的API,那么程序是可以运行在所有Java平台上,而与操作系统无关。
但“sun.*”包并不是API公开接口的一部分,调用“sun”包的程序并不能确保工作在所有Java平台上,事实上,这样的程序并不能工作在今后的Java平台上。
正因为如此,“sun.*”包中的类并没有提供API文档。
平台无关性是Java语言最大的优势之一,此外,SUN和Java许可证确保维持了今后API的向上兼容性(以后修改的那些有严重bug的代码除外)。这种兼容性意味着你写好的程序编译成的class文件仍然可以工作在将来的版本当中。
如何修改呢?
Eclipse默认的情况下JRE system library是其自带的,如何修改工程中的JRE system library呢?步骤如下:
1.选择工程->Properties->Java Build Path->Libraries,删掉原来的JRE system library。
2.点击"Add Library"->"JRE system library"->next->选择“alternate JRE:”->"installed JREs"->Add,然后就选择要使用的JRE,比如是jre1.5.0_11,最后保存,就完成了修改。
Plugin execution not covered by lifecycle configuration
解决办法:QuickFix,自动在pom.xml中或者lifecycle-mapping-metadata.xml中增加配置节点。
原理:https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html
Eclipse快捷键
资深Eclipse玩家,掌握快捷键操作,可能很大提高编程效率。可以参考以下其他人总结的帖子:
http://jingyan.baidu.com/article/ab69b270e2aa632ca7189f3c.html
http://blog.csdn.net/dianyueneo/article/details/7242004
Eclipse使用入门指南及技巧的更多相关文章
- 2019.10.28 IDEA入门指南(很多人问补充一篇)
Idea快速入门指南 1.安装 1.1.安装 我们使用的是最新的2017.3.4版本: 双击打开, 选择一个目录,最好不要中文和空格: 然后选择桌面快捷方式,请选择64位: 然后选择安装: 开始安装: ...
- Web API 入门指南 - 闲话安全
Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...
- 一起学微软Power BI系列-官方文档-入门指南(3)Power BI建模
我们前2篇文章:一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍 和一起学微软Power BI系列-官方文档-入门指南(2)获取源数据 中,我们介绍了官方入门文档与获取 ...
- 一起学微软Power BI系列-官方文档-入门指南(4)Power BI的可视化
在前面的系列文章中,我们介绍了官方有关获取数据,以及建模的原始文档和基本介绍.今天继续给大家介绍官方文档中,有关可视化的内容.实际上获获取数据和建模更注重业务关系的处理,而可视化则关注对数据的解读.这 ...
- 一起学微软Power BI系列-官方文档-入门指南(5)探索数据奥秘
我们几篇系列文章中,我们介绍了官方入门文档与获取数据等基本知识.今天继续给大家另外一个重点,探索数据奥秘.有了数据源,有了模型,下一步就是如何解析数据了.解析数据的过程需要很多综合技能,不仅仅是需要掌 ...
- Java Gradle入门指南之内建与定制任务类(buildSrc、Groovy等)
上一篇随笔介绍了Gradle的安装与任务管理,这篇着重介绍Gradle的内建任务(in-built tasks)与自定义任务(custom tasks),借助Gradle提供的众多内建任务类型 ...
- Sublime Text 2入门指南
Sublime Text 2入门指南 一天在iteye上看到范凯介绍一个开发工具(TextMate ),看下面的评论时看到Sublime Text 2.其实我一直喜欢editplus.百度了一番才 ...
- Web API入门指南(安全)转
安全检测的工具站点:https://www.owasp.org/index.php/Category:Vulnerability_Scanning_Tools Web API入门指南有些朋友回复问了些 ...
- jBPM开发入门指南
http://blog.csdn.net/eric474470/article/details/7665265 工作流虽然还在不成熟的发展阶段,甚至还没有一个公认的规范标准.但其应用却已经在快速展开, ...
随机推荐
- 给Xcode增加复制行、删除行快捷键的方法
运行: sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKey ...
- 无参数的lambda匿名函数
lambda 语法: lambda [arg1[,arg2,arg3....argN]]:expression 1.单个参数的: g = lambda x:x*2 print g(3) 结果是6 2. ...
- light oj 1032(数位DP)
求一段区间中,每个十进制数所对应的二进制数中连续的1的个数之和. 设dp[i][0]代表长度为i的二进制数,首位为0,所含有的连续的1的个数之和. dp[i][1]代表长度为i的二进制数,首位为1,所 ...
- hdu 2476 (string painter) ( 字符串刷子 区间DP)
String painter Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 《MIDINET: A CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORK FOR SYMBOLIC-DOMAIN MUSIC GENERATION》论文阅读笔记
出处 arXiv.org (引用量暂时只有3,too new)2017.7 SourceCode:https://github.com/RichardYang40148/MidiNet Abstrac ...
- CodeForces 721B Journey (DP)
题意:给定一个有向图,你从1出发到n,走尽可能多的点,并且使总权值不大于t. 析:在比赛时,竟然看成有向图了,就想了好久,感觉dp,但是不会啊...如果是有向图就好做多了,枚举边,然后打印就好,dp[ ...
- 使用FFMPEG从MP4封装中提取视频流到.264文件 (转载)
命令行: ffmpeg -i 20130312_133313.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 20130312_133313.264 说明 ...
- UVA1437 String painter
传送门 我们先考虑从一个空白串变成\(B\),这样的话用区间dp,区间dp,设\(f[l][r]\)表示区间\((l,r)\)的最小次数,当\(l==r\)时为\(1\),当\(s[l]==s[r]\ ...
- 8.20~8.25刷散题记录 By cellur925
记录一些散题 / 价值不大但还是想记下来的题目 / 没正八经写博客的题目 8.24 Luogu P1508 沙雕题数字三角形的二维升级版,但是注意阅读理解,李大水牛从桌子最后一行下侧开始吃,而本题是自 ...
- python正则表达式_总结
正则表达式: 作用:正则表达式是用来查找字符串的. 之前:使用正则表达式首先要导入re模块(import re) re.match -- 从字符串的第一个单词开始匹配字符串.如果匹配到则返回一个对象: ...