一位同事问我有关Throwablejava API中的类的问题.
按照标准,我明白,每个结尾的单词都是java API中的一个接口.关于使用诸如接口名称之类的单词存在行业标准.所以,我在不知不觉中告诉他这是java世界中所有异常和错误类型的基本接口.然后他向我展示了这个类的java文件.
我的问题:
为什么java人选择这个名字作为一个类.我认为这应该是默认的界面?
这是一种使用*能够用作界面的模式吗?
是否还有其他以*able结尾的课程示例?
问候.
我构建了一个Java Restfull Web服务,由在Android Mobil设备上运行的离子应用程序调用.
代码已成功运行Android 4.4 Mobile.
但是没有在os上运行任何其他Android移动设备:android lollipop, marshmallow.
webservices web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>test</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<!-- <servlet-class>com.sun.jersey.server.impl.container.servlet.ServletAdaptor</servlet-class> -->
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>test</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
休息网络服务代码
package test;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
@Path("/test")
public class test_Services
{
@POST
@Consumes("application/x-www-form-urlencoded")
@Path("/insertTest")
public String InsertTest(String json)
{
System.out.println("POST JSON>>>>>>>>>>>>>"+json);
return json.toString();
}
} …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
// xpath evaluates to net.sf.saxon.xpath.XPathEvaluator
XPath xpath = XPathFactory.newInstance().newXPath();
XPathExpression expression = xpath.compile("/foo/bar");
Object evaluate = expression.evaluate(someXML, XPathConstants.NODE);
Object evaluate2 = expression.evaluate(someXML, XPathConstants.NODESET);
System.out.println(evaluate!=null?evaluate.getClass():"null");
System.out.println(evaluate2!=null?evaluate2.getClass():"null2");
System.out.println(evaluate instanceof Node);
System.out.println(evaluate2 instanceof NodeList);
Run Code Online (Sandbox Code Playgroud)
这就是结果......
class net.sf.saxon.tinytree.TinyElementImpl class java.util.ArrayList false false
只是为了澄清,如果我这样做:
org.w3c.dom.Node node = (org.w3c.dom.Node)evaluate;
Run Code Online (Sandbox Code Playgroud)
要么
org.w3c.dom.NodeList node = (org.w3c.dom.NodeList)evaluate2;
Run Code Online (Sandbox Code Playgroud)
我得到了 ClassCastException
怎么可能?根据Suns Java 1.5 API NODE和NODESET应分别映射到org.w3c.dom.Node和org.w3c.dom.NodeList
只是澄清2是的我知道Node是一个iterface,getClass()返回一个具体的类.
我是沙发基地的全新人物.我正在使用java api,我想以某种方式查看存储桶中的所有可用密钥.这可能吗?提前致谢.
拥有这两种方法的IMO是多余的,真的不清楚!我不太明白为什么这两种方法都是在Files API中设计的?
如果文件确实存在,Files.exist(..)返回true,如果不存在或没有权限则返回false.那么为什么在地狱里有一个Files.notExist(..)??
Oracle Docs说!Files.exists(...)不等同于Files.notExists(...)!? 也许有些东西让我无法理解!
当存在exists()方法时,使用notExist()有什么好处?
我正在使用Kafka站点的ConsumerGroupExample代码测试Kafka High Level Consumer.我想检索我在Kafka服务器配置中名为"test"的主题的所有现有消息.查看其他博客,auto.offset.reset应设置为"最小",以便能够获取所有消息:
private static ConsumerConfig createConsumerConfig(String a_zookeeper, String a_groupId) {
Properties props = new Properties();
props.put("zookeeper.connect", a_zookeeper);
props.put("group.id", a_groupId);
props.put("auto.offset.reset", "smallest");
props.put("zookeeper.session.timeout.ms", "10000");
return new ConsumerConfig(props);
}
Run Code Online (Sandbox Code Playgroud)
我真正拥有的问题是:高级消费者的等效Java api调用相当于:
bin/kafka-console-consumer.sh --zookeeper localhost:2181 - topic test - from-beginning
我想改变elasticsearch中的评分系统,以摆脱计算术语的多个外观.例如,我想:
"得克萨斯州得克萨斯州"
和
"得克萨斯"
以同样的分数出来.我发现这个映射,elasticsearch表示会禁用术语频率计数,但我的搜索没有得出相同的分数:
"mappings":{
"business": {
"properties" : {
"name" : {
"type" : "string",
"index_options" : "docs",
"norms" : { "enabled": false}}
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
任何帮助将不胜感激,我还没有找到很多关于此的信息.
编辑:
我正在添加我的搜索代码以及使用explain时返回的内容.
我的搜索代码:
Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "escluster").build();
Client client = new TransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9300));
SearchRequest request = Requests.searchRequest("businesses")
.source(SearchSourceBuilder.searchSource().query(QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("name", "Texas")
.minimumShouldMatch("1")))).searchType(SearchType.DFS_QUERY_THEN_FETCH);
ExplainRequest request2 = client.prepareIndex("businesses", "business")
Run Code Online (Sandbox Code Playgroud)
当我用解释搜索时,我得到:
"took" : 14,
"timed_out" : false,
"_shards" : {
"total" : 3,
"successful" : 3,
"failed" : 0
},
"hits" …Run Code Online (Sandbox Code Playgroud) 我想使用缓存来加载JSP页面.我使用Java JSP Servlet创建了一个Dynamic Web Project.
在这个项目中,我从Rest API调用获取数据(以JSON格式),并将此数据动态地呈现在表内的JSP页面中.
我还在API数据中获取了具有数据时间的密钥名称"lastUpdate".
我第一次在表中呈现数据然后第二次调用Rest API后,我必须检查我的'lastUpdate'(在缓存中可用)时间是否与来自Rest API调用的'lastUpdate'相同然后我必须使用缓存显示相同的页面.
我不确定是否可能,我是缓存管理的新手.
所以请分享您的反馈和一些示例或教程,我可以参考.
我正在使用Java API在Amazon S3中上传和下载文件.直到大约一个星期前它才完美运行,即使我没有触及代码,它也完全停止了工作.我想知道是否有解决方案.谢谢!
这里的代码运行良好:
AWSCredentials credentials = new BasicAWSCredentials(ACCESSKEYID, SECRETKEY);
AmazonS3Client s3client = new AmazonS3Client(credentials);
List<String> bucketList = new ArrayList<String>();
for (Bucket bucket : s3client.listBuckets()) {
System.out.println(bucket.getName());
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
Apr 11, 2015 9:44:12 PM com.amazonaws.http.AmazonHttpClient executeHelper
INFO: Unable to execute HTTP request: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1904)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:279)
at …Run Code Online (Sandbox Code Playgroud) 我想要一个像我这样的API的图像 localhost:8080:/getImage/app/path={imagePath}
当我点击这个API时,它会返回一个Image.
这可能吗?
实际上,我试过这个,但它给了我一个错误.这是我的代码,
@GET
@Path("/app")
public BufferedImage getFullImage(@Context UriInfo info) throws MalformedURLException, IOException {
String objectKey = info.getQueryParameters().getFirst("path");
return resizeImage(300, 300, objectKey);
}
public static BufferedImage resizeImage(int width, int height, String imagePath)
throws MalformedURLException, IOException {
BufferedImage bufferedImage = ImageIO.read(new URL(imagePath));
final Graphics2D graphics2D = bufferedImage.createGraphics();
graphics2D.setComposite(AlphaComposite.Src);
// below three lines are for RenderingHints for better image quality at cost of
// higher processing time
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
graphics2D.drawImage(bufferedImage, 0, 0, width, height, null);
graphics2D.dispose(); …Run Code Online (Sandbox Code Playgroud)